HOWTO: Use Linux to Slipstream SP3 into Windows XP iso
A co-worker of mine inspired me to create a new enterprise CD with SP3 pre-installed the other day after I asked about an existing iso I had found on our network. I wondered if it were OEM or a new volume license with SP3 I had hoped it was.
He sent me a few links to some howto's and not all were the same. Looking over a few examples I quickly began replacing their Windows solutions with known Linux. Rather than recreate the wheel, I first searched how others have done it using Linux. These are a couple sites that have inspired my success:
- Slipstreaming Windows XP with Service Pack 3 in Linux by Jeremy Visser
- Slipstreaming Windows XP SP3 in Linux by Michael Gorven
- Intégration du Service Pack Windows sous Linux by Jacques Rouxel
The process is actually very easy but as usual 'your mileage will vary'. I am using KDE 4.3.0 with Fedora 10.
- Copy XP CD content into a clean working directory (/home/warren/software/VRMPVOL_EN/)
- chmod -R 777 /home/warren/software/VRMPVOL_EN/
- Convert everything to uppercase with convmv -r --upper --notest /home/warren/software/VRMPVOL_EN/. Don't ask; who'd of thunk Microsoft was case sensitive!
- Retrieve the redistributable SP3
- Extract the service pack using cabextract -d /home/warren/software/SP3/ /home/warren/software/WindowsXP-KB936929-x86-ENU.exe
- Install the service pack using wine /home/warren/software/SP3/i386/update/update.exe /integrate:Z:\\home\\warren\\software\\VRMPVOL_EN_SP3.
The Z: is the wine drive letter I have my existing CD in. Run the wine configuration app and find the Drives tab.
- Extract the boot loader from the original CD with ./geteltorito /dev/sr0 > /home/warren/software/VRMPVOL_EN_SP3/boot.bin.
I didn't have an rpm package for geteltorito so I got both files from the download page and chmod 755 to make it executable. I could only run this as root, so be sure to chown the boot.bin back to you.
- Write the iso with mkisofs -b boot.bin -hide boot.bin -hide boot.catalog -no-emul-boot -boot-load-size 4 -iso-level 4 -relaxed-filenames -D -V VRMPVOL_EN_SP3 -o /home/warren/software/VRMPVOL_EN_SP3.iso ./home/warren/software/VRMPVOL_EN_SP3/
- Burn iso to CD and test! I prefer K3b; just works.
So there you have your newly update XP CD with SP3 already installed. I tested and only created one coaster with a botched boot loader. This one boots and has a clean SP3.