Creating a customized RedHat/Fedora Boot CD (for use with kickstart)



My preferred mode of installing RedHat/Fedora Linux is using kickstart facility. Kickstart allows you to do set up unattended installation of RedHat. This is extremely useful when you have to rebuild machines or when a new machine is introduced to your network.

In order to kick off kickstart installation you have to customize the boot CD-ROM to either contain the kickstart configuration file ie. ks.cfg or point kickstart installation to fetch ks.cfg from e.g. web server.

To achieve that do following
  1. Log in as root (mkisofs doesn't work if you are not a root or at least not for me)
  2. Create a directory called image
  3. Copy the isolinux directory from the RedHat or Fedora installation
  4. Modify the isolinux.cfg file in image/isolinux
default ks
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label expert
  kernel vmlinuz
  append expert initrd=initrd.img
label ks
  kernel vmlinuz
  append ks=http://192.168.1.1/ks.cfg initrd=initrd.img
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres
Now you will have to create the boot CD-ROM. It took me a while to find a solution but following URL had the solution :-)

https://listman.redhat.com/archives/kickstart-list/2003-July/msg00009.html

You will have to type
mkisofs -o boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -V -T image
Now you have yourself a ISO image of your customized kickstart installation. Now you only have to burn it to a CD-ROM ie. I do it the old fashioned way

cdrecord -scanbus

To find what my CD/RW device is ie. 0,0,0 or 1,0,0 then I type

cdrecord -v -eject -dev=1,0,0 speed=4 boot.iso

Now you just have to make sure you have ks.cfg on the webserver located at http://192.168.1.1/ks.cfg and your installation will be a breeze :-).