Unfortunately Windows is still a necessary evil sometimes: I keep a Windows virtual machine [11] for times when it's absolutely necessary, and I still give my friends Windows tech support. I still like to do things properly, and so I wanted to create a Windows XP [12] install CD with Service Pack 3 [13] slipstreamed [14] in1. I had two CDs to do, and slipstreamed the first one using a Windows VM, but then got curious and wondered if I could do it without Windows.
The answer is that it is possible using Wine [15] to run the service pack installer. I followed this blog post [16] (which was interesting since it's in French), but I then found another blog post [17] which explains it in English. The steps are as follows:
- Copy contents of original CD to harddrive.
- Extract the service pack using
cabextract
. Use Wine to run the service pack installer.
wine ~/sp3/i386/update/update.exe /integrate:~/xp/
Use geteltorito [18] to extract the bootloader from the original CD
Make sure that all the filenames are upper case.
convmv -r --upper --notest ~/xp/*
Create the new CD image. I did this in K3b [19] with the following settings.
- Boot emulation: none
- Boot load segment: 0x7c0
- Boot load size: 0x4
- Generate Joilet extensions
- Omit version numbers in ISO9660 filenames (nothing else enabled under "ISO9660 Settings"
- ISO Level 1
- Test in a virtual machine
It seems to be quite particular about the ISO9660 settings and the upper case filenames, so if it doesn't boot check the settings.
-
This integrates the service pack into the install CD so that a fresh installation is already updated. ↩