PXE Setup
* yum install tftp-server
* vi /etc/xinetd.d/tftp and change disable to 'no'
disable = no
* restart xinetd
service xinetd restart
* Install syslinux
yum install syslinux
* Copy needed files from syslinux to the tftpboot directory
cp /usr/lib/syslinux/pxelinux.0 /tftpboot cp /usr/lib/syslinux/menu.c32 /tftpboot cp /usr/lib/syslinux/memdisk /tftpboot cp /usr/lib/syslinux/mboot.c32 /tftpboot cp /usr/lib/syslinux/chain.c32 /tftpboot
* Create the directory for your PXE menus
mkdir /tftpboot/pxelinux.cfg
* Create a base directory for images. Create directories for each CentOS release you are supporting.
mkdir -p /tftpboot/images/centos/i386/3.0 mkdir -p /tftpboot/images/centos/i386/3.1 mkdir -p /tftpboot/images/centos/x86_64/3.0 mkdir -p /tftpboot/images/centos/x86_64/3.1 mkdir -p /tftpboot/images/centos/i386/4.0 mkdir -p /tftpboot/images/centos/i386/4.1 mkdir -p /tftpboot/images/centos/x86_64/4.0 mkdir -p /tftpboot/images/centos/x86_64/4.1 mkdir -p /tftpboot/images/centos/i386/5.0 mkdir -p /tftpboot/images/centos/i386/5.1 mkdir -p /tftpboot/images/centos/x86_64/5.0 mkdir -p /tftpboot/images/centos/x86_64/5.1
* For each "Release" and "ARCH" Copy vmlinuz and initrd.img from /images/pxeboot/ directory on "disc 1" of that $Release/$ARCH to /tftpboot/images/centos/$ARCH/$RELEASE
* Add this to your existing or new /etc/dhcpd.conf.
Note: xxx.xxx.xxx.xxx is the IP address of your PXE server
allow booting; allow bootp; option option-128 code 128 = string; option option-129 code 129 = text; next-server xxx.xxx.xxx.xxx; filename "/pxelinux.0";
* Restart DHCP server
service dhcpd restart
Setup simple or multilevel PXE Menus