Устанавливаем tftp-сервер: yum install tftp-server и активируем его в /etc/xinetd.d/tftp: disable = no Перезапускаем xinetd, чтобы изменения подействовали: service xinetd restart Устанавливаем пакет syslinux: yum install syslinux Копируем необходимые для загрузки файлы syslinux в директорию tftpboot: 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 Создаем директорию с PXE меню: mkdir /tftpboot/pxelinux.cfg Создаем для каждого релиза CentOS, которые потребуется устанавливать удаленно, поддиректории для загрузочных образов: 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 Для каждого релиза и архитектуры копируем образ ядра vmlinuz и ram-диск initrd.img из директории /images/pxeboot/ на первом установочном диске каждого релиза (из $Release/$ARCH копируем в /tftpboot/images/centos/$ARCH/$RELEASE). Настраиваем DHCP, добавляем в /etc/dhcpd.conf (вместо xxx.xxx.xxx.xxx прописываем адрес нашего PXE-сервера): 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"; Перезапускаем DHCP сервер: service dhcpd restart Создаем PXE меню, добавляем в /tftpboot/pxelinux.cfg/default примерно следующее: default menu.c32 prompt 0 timeout 300 ONTIMEOUT local MENU TITLE PXE Menu LABEL Pmajic MENU LABEL Pmajic kernel images/pmagic/bzImage append noapic initrd=images/pmagic/initrd.gz root=/dev/ram0 init=/linuxrc ramdisk_size=100000 label Dos Bootdisk MENU LABEL ^Dos bootdisk kernel memdisk append initrd=images/622c.img LABEL CentOS 5 x86 NO KS eth0 MENU LABEL CentOS 5 x86 NO KS eth0 KERNEL images/centos/5/x86/vmlinuz APPEND ks initrd=images/centos/5/x86_64/initrd.img \ ramdisk_size=100000 ksdevice=eth1 ip=dhcp url --url http://xxx.xxx.xxx.xxx/mirrors/CentOS-5-i386/ LABEL CentOS 5 x86_64 NO KS eth0 MENU LABEL CentOS 5 x86_64 NO KS eth0 KERNEL images/centos/5/x86_64/vmlinuz APPEND ks initrd=images/centos/5/x86_64/initrd.img \ ramdisk_size=100000 ksdevice=eth1 ip=dhcp url --url http://xxx.xxx.xxx.xxx/mirrors/CentOS-5-x86_64/
Полгода назад поднимал PXE сервер, видел статью сильно похожую на эту.