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

HowTos/PXE/PXE Setup (last edited 2009-09-10 17:41:25 by EdHeron)