This article describes how to integrate a service pack with original installation media. An image of the media, in ISO format for example, can also do the trick.

The procedure described below applies to all service packs: SP1, SP2, SP3.

Prerequisites

  • wine
  • geteltorito
  • cabextract
  • convmv

Nomenclature

  • {work-dir} : Working directory.
  • {sp-link} : Link to the service pack.
  • {cdrom-drive}: CD-ROM
  • {cdrom-dir} : Directory pointing to the CD-ROM
  • {in-dir} : Directory containing the modified version of Windows including the service pack.
  • {sp-dir} : Directory containing the unpacked service pack.
  • {sp-file} : Name of the service pack file.

Integration

  1. Create a directory in which the work will be done.
mkdir {work-dir}
  1. Move to the working directory.
cd {work-dir}
  1. Retrieving the service pack from the Microsoft website.
wget {sp-link}
  1. Extraction of the service pack executable files. The {sp-dir} directory is created automatically.
cabextract -d {sp-dir} {sp-file}
  1. Creation of the {in-dir} directory.
mkdir {in-dir}
  1. Recovery of files from the original Windows CD. This operation can also be done from an ISO image.
cp -r {cdrom-dir}/* {in-dir}
  1. Take care to set the correct rights on the extracted files.
chmod -R 777 {in-dir}
  1. Updating of files.
wine {sp-dir}/i386/update/update.exe -s:{in-dir}

The message: fixme:seh:_abnormal_termination (void)stub is displayed about 30 times. This is not a problem for the rest of the procedure.

  1. Renaming of files and directories in upper case (not possible on NTFS or FAT32 partition).
convmv -r --upper --notest {in-dir}/*
  1. Extraction of the boot image from the bootable CD.
geteltorito /dev/scd0 > {in-dir}/boot.bin
  1. (Optional) Change the date of the files.
find {in-dir} | xargs touch -t 200804140000
  1. Creation of the CD image.
mkisofs -b boot.bin -hide boot.bin -hide boot.catalog -no-emul-boot -boot-load-size 4 -iso-level 4 -relaxed-filenames -D -V GRTMPVOL_EN -o /media/disk/GRTMPVOL_EN.iso ./{in-dir}

References