[CentOS] Getting CentOS Server CD w/kickstart config

Thu May 17 15:18:13 UTC 2007
Plant, Dean <dean.plant at roke.co.uk>

Devin Atencio wrote:
> I would like to how how I can take the CentOS 4.4 Server Cd for
> example and modify the
> ISO to put on my anaconda-ks.cfg file and then modify the kernel
> parameters to automatically
> load the anaconda-ks.cfg file so that I can create a CD that I just
> stick into my machine it will
> format the drive, install the basic configuration I like without
> asking any questions. I need to
> install like 20 machines and I wanted to basically just stick a CD in
> the drive and let it do it's thing.
> 
> Any help on how to accomplish this would be appreciated.
> 

Here's how I did it for RHEL CD's

--------------------------------------------------

Construct a single DVD from the four RHEL CDRom's 

Insert  & mount CD1

# mkdir /DVD
# mount /dev/cdrom /media/cdrecorder

Copy cd1 to /DVD

# cd /media/cdrecorder
# tar cf - . | (cd /DVD ; tar xvf - .)
# cd /
# eject cdrom

Carry out the above action for CD 2-4

After all CD's have been copied.

Correct the .discinfo file to reference all four disks.

# cd /DVD
# vi .discinfo

Ensure line 4 has 1,2,3,4
A working .discinfo should be as follows.

# cat .discinfo
1141417589.425945
Red Hat Enterprise Linux 4
i386
1,2,3,4
RedHat/base
RedHat/RPMS
RedHat/pixmaps

Create the bootable ISO file. (all on one line)

# mkisofs -A "RHEL/4.3 i386 3AS" -o DVD.iso -b isolinux/isolinux.bin -c
isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J
-v -T /DVD

Burn the DVD.iso as an image not a file.

References

http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/x8664-multi-
install-guide/s1-steps-install-cdrom.html

Modify the DVD to include custom kickstart scripts.

Create the /DVD tree as per the previous steps.

The default files read on boot up of an RH install CDRom are located in
/isolinux/

To run custom kickstart scripts we need to modify the
/isolinux/isolinux.cfg and add the kickstart file to the boot process.
See here for kickstart script generation.

For each kickstart install we need to add 3 lines to the isolinux.cfg
file.

A label line	-	This is the identifier you type at the linux
boot prompt
A kernel line	-	This does not change
A append line	-	This is where we tell the boot process to use a
kickstart file.

Firstly backup the original file.

# cp /DVD/isolinux/isolinux.cfg /DVD/isolinux/isolinux.cfg.orig

Now edit and add our custom kickstart file.

# vi /DVD/isolinux/isolinux.cfg

Add

label myboot1
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192 ks=cdrom:/ks.cfg

This will enable you to type myboot1 at the boot prompt which will call
the ks.cfg located in the / of the DVD disk.

Multiple kickstart files can be added by using different label and
append lines.

For Example:

label myboot1
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192 ks=cdrom:/ks1.cfg
label myboot2
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192 ks=cdrom:/ks2.cfg

--------------------------------------------------

Have fun.

Dean