Устанавливаем 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 localMENU 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=100000label Dos Bootdisk
MENU LABEL ^Dos bootdisk
kernel memdisk
append initrd=images/622c.imgLABEL 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
А для установки виндов?
Для офтопика давненько делал по этому материалу
http://oss.netfarm.it/guides/pxe.php
И по русски тоже полезно почитать
http://unattendedxp.com/articles/wxpris/progs.shtml
Мороки конечно больше чем для nix - но тоже работает!
http://daevy.uzps.mh.ru/?p=473
WDS для winvi и win7 прекрасно работает. С winxp что на RIS что на WDS есть свои заморочки
для этих целей есть cobbler
http://vasilec.blogspot.com/2008/12/cobbler.html
Дополнить бы. а то просто перевод - ниче полезного.
cobbler - и не надо мучаться
И смысл был постить? Для федоры и редхата почти все слово-в-слово гуглится за 1-2 минуты.Полгода назад поднимал PXE сервер, видел статью сильно похожую на эту.
Cobbler "не только не надо мучаться", но и гораздо больший функционал :)
Например, свой язык написания так называемых снипетов, которые можно использовать для _автогенерации_ Anaconda кикстартов)