By thomas, Wed, 09/09/2009 - 14:36
Now with our kickstart file created, we need to place the kickstart file on our web server so the client can pickup the kickstart file at boot.
[root@server0 ~]# cd /var/www/html
[root@server0 html]# mkdir kickstart
mkdir: cannot create directory `kickstart': File exists
[root@server0 html]# cd kickstart
[root@server0 kickstart]# cat default.cfg 
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5 
# System bootloader configuration
bootloader --location=mbr
...
[root@server0 kickstart]# cd /tftpboot/linux-install/pxelinux.cfg
[root@server0 pxelinux.cfg]# cat default 
default linux

label linux
	kernel vmlinuz
	append initrd=initrd.img ramdisk_size=10000 ks=http://server0.example.com/kickstart/default.cfg
[root@server0 pxelinux.cfg]# 
With a complete example we can attempt to pxe boot a client. If your client fails to install itself unattended, answer the questions that the installer (anaconda) asks and wait for the install to complete. At the end of the install you can compare the anaconda.ks file in root's home directory to the one you created. You can compare the differences and update your example kickstart.

The goal here is to have the client install completely unattended.

The install itself is pretty vanilla at this point though. We could spend a lot of time tuning the kickstart to our needs, but our new machines will only be in sync when we reinstall them. To keep things synchronized, we need a better system, which is where puppet will help us out.