1. Make sure there is an install directory somewhere on the server
  2. Start by making a boot floppy with dd, you can find the image in the `images' subdirectory of the install directory, use the `bootnet.img' file.
  3. Do a standard NFS install off the floppy to get a working system running the new Redhat version.
  4. Now run the program `ksconfig' (you may need to find the RPM and install it first). This is a graphical program which lets you specify the options for kickstart install. It generates a config file, which you should save. At the bottom of this page you'll see the contents of the current kickstart file.
  5. Put the boot floppy back in the drive and mount it (it's an MSDOS format floppy, believe it or not).
  6. On the floppy, edit the file `syslinux.cfg'. The first line should read "default ks" and the second should say "prompt 0" and further down you will see various labels, there should be one for ks marked "label ks", and two lines down change it to say "append ks=floppy initrd...."
  7. You will probably need more room on the floppy so you can remove files like `expert.msg', `param.msg' and so on (keep `boot.msg' though!), they are not needed.
  8. Copy the `ks.cfg' file into place on the floppy
  9. Unmount the floppy
  10. If you save the image of it on a hard disk, you can conveniently make more when you need them. Don't store it on a floppy though. Floppies go bad easily!

Possibly useful information

If you want to force the installer to install a certain RPM that's included in the distribution, for example, ntp, the name of it should go at the end of the list of packages to install in ks.cfg. If you want to have the installer install different RPMs by default (such as updated kernel RPMs instead of the old default redhat ones), you need to replace the old RPMs with the new ones, and generate a new hdlist file for the RPM directory. The program that does that is `/usr/lib/anaconda-runtime/genhdlist' (you might have to install the RPM anaconda-runtime to get it). This has to be done on the same Redhat version as the hdlist will be for. Run:

/usr/lib/anaconda-runtime/genhdlist --hdlist /path/to/new/hdlist /path/to/directory/containingRedHatdirectory

You'll get one or two hdlist files. Replace the old ones (located in the `base' subdirectory of the redhat dir) with the new ones and you should be ready to go. It's not necessary to do this for most security updates since our `setup' does this.