For the installation of the "Golden Client" kickstart facility can be used. It uses a script with the steps necessary for installing Linux. The script and installation files are then provided through standard services like a CD/DVD, dhcp+tftp or a floppy disk.
Here we will use network booting by PXE (Preboot Execution Environment) using the server.
The configuration of PXE is facilitated by pxeconfig_toolkit.
pxeconfig is not available as RPM, but an RPM can be easily created using the following procedure:
go to configuring rpmbuild,
download ftp://ftp.surfsara.nl/pub/outgoing/pxeconfig.tar.gz to ~/rpmbuild/SOURCES.
build the pxeconfig RPM:cd ~/rpmbuild/SPECS rpmbuild -bb pxeconfig.spec
as root, install the RPM:yum localinstall --nogpgcheck $HOME/RPMS/noarch/pxeconfig-2.0.0-1.el5.my_dist.noarch.rpm
PXE requires still more configuration. The PXE/TFTP directory /tftpboot (installed with tftp-server, check with rpm -qf /tftpboot) is organized with the following subdirectories and files:
pxelinux.cfg/ (installed with pxeconfig): Contains PXE default.XXX boot files, and optionally, soft links corresponding to IP-addresses to be installed by PXE. For the moment there is only one file default.harddisk which allows the system to boot from the harddisk. To be able to refer to the kickstart installation please download default.menu into pxelinux.cfg/ and make the link:cd /tftpboot/pxelinux.cfg ln -s default.menu default
CentOS-5.3-i386/ directory needs to be created: must contain the two files: vmlinuz (kernel) and initrd.img (RAM-disk). Please download these files from http://mirror.centos.org/centos/5/os/i386/images/pxeboot/:cd /tftpboot/CentOS-5.3-i386/ wget http://mirror.centos.org/centos/5/os/i386/images/pxeboot/initrd.img wget http://mirror.centos.org/centos/5/os/i386/images/pxeboot/vmlinuz cd ..; ln -s CentOS-5.3-i386 CentOS-5-i386
Warning: do not try to make a link of sort ln -s /tftpboot/CentOS-5.3-i386 /tftpboot/CentOS-5-i386.
centos.conf - download it to /tftboot,
copy the following files to /tftboot:cp /usr/lib/syslinux/memdisk /usr/lib/syslinux/pxelinux.0 /usr/lib/syslinux/*.c32 /tftpboot/ cd /tftpboot ln -s pxelinux.0 pxelinux.bin
Download the kickstart dulak-node.cfg to /dulak-server/home/kickstart/ (create this directory first), and:
chmod go+r /dulak-server/home/kickstart/dulak-node.cfg
Note in the case of USB installation edit dulak-node.cfg: currently it assumes that the USB drive is recognized and dev/sda.
Deal with babariba password in dulak-node.cfg as described on installing server, moreover you must put a new password also in default.menu file (well, it looks like password sha1 password is not recognized, only text passwords, so passwd has to be removed from default.menu: Apr 7 2009).
You need to download the iso images from http://mirror.centos.org/centos/5/isos/i386/ to /scratch/isos/i386 (create this directory first).
The final step in the configuration of PXE is make sure that /etc/dhcpd.conf contains the following:
# TFTP download from dulak-server: next-server 10.3.0.2; # Start up PXELINUX: filename "pxelinux.bin";
and restart dhcpd:
service dhcpd restart
Now, turn on the Golden Client and choose network boot. You will see the PXE menu where you will be able to choose the kickstart installation.
After installation login to the "Golden Client", and:
yum update service yum-updatesd stop chkconfig --level 35 yum-updatesd off reboot
Go to configuring ssh.
if you get in /var/log/messages on dulak-server:# Jul 14 21:26:14 dulak-server setroubleshoot: SELinux is preventing the in.tftpd from using potentially mislabeled files (./default.menu).
Do:restorecon -R -v /tftpboot/pxelinux.cfg