Устанавливаем 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/
URL: http://wiki.centos.org/HowTos/PXE/PXE_Setup
Обсуждается: http://www.opennet.me/tips/info/2270.shtml