PXE Boot Server of CentOS 5 on a CentOS setup Rumi, May 31, 2013 Setting up PXE Server Install some packages that is required for PXE server. [root@dlp ~]# yum -y install system-config-netboot syslinux xinetd tftp-server Run TFTP server [root@dlp ~]# vi /etc/xinetd.d/tftp # line 14: change disable =no [root@dlp ~]# /etc/rc.d/init.d/xinetd start Starting xinetd: [ OK ] [root@dlp ~]# chkconfig xinetd on Install DHCP server- yum install dhcp configure DHCP server at- nano /etc/dhcps.conf. Sample configuration file as below- ddns-update-style interim; ignore client-updates; subnet 192.168.168.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.168.5; option subnet-mask 255.255.255.0; option nis-domain "domain.org"; option domain-name "domain.org"; option domain-name-servers 114.130.5.5; filename "/linux-install/pxelinux.0"; next-server 192.168.168.5; # option time-offset -18000; Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.168.128 192.168.168.200; default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address # host ns { # next-server marvin.redhat.com; # hardware ethernet 12:34:56:78:AB:CD; # fixed-address 207.175.42.254; # } } Basic PXE configuration is done. Network Install Begins [root@dlp ~]#mkdir /mnt/iso [root@dlp ~]#mount -t iso9660 -o loop ./CentOS-5.5-x86_64-bin-DVD-1of2.iso /mnt/iso [root@dlp ~]#cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/linux-install/ [root@dlp ~]#cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/linux-install/ [root@dlp ~]#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/linux-install/ [root@dlp ~]#vi /tftpboot/linux-install/pxelinux.cfg/default # create new default centos5 label centos5 kernel vmlinuz append load initrd=initrd.img devfs=nomount A small comment- in my distribution /usr/lib/syslinux had to use /usr/share/syslinux 2] Run HTTP server. See here to install it. [root@dlp ~]#vi /etc/httpd/conf.d/pxeboot.conf # create new Alias /centos5 "/mnt/iso" <Directory /mnt/iso> Options Indexes FollowSymLinks Order deny,allow Deny from all Allow from 127.0.0.1 10.0.0.0/24 # IP address you allow </Directory> [root@dlp ~]#/etc/rc.d/init.d/httpd restart Stopping httpd:[ OK ] Starting httpd:[ OK ] Your PXE server is ready to roll. Footnotes: 1. You may need to restart tftp server and it's not that easy- first use this long command to restart TFTP- /sbin/chkconfig –level 345 xinetd on /sbin/chkconfig –level 345 tftp on then restart xinetd by /etc/init.d/xinetd restart 2. Don't forget to stop iptables! stop it by /etc/init.d/iptables stop src: http://www.server-world.info/en/note?os=CentOS_5&p=pxe&f=2 http://www.server-world.info/en/note?os=CentOS_5&p=pxe&f=1 Configurations (Linux) CentOSPXE