
Free Hosting You earn $ with Google Adsense
PXE Server and Kickstart Installation
lighttpd 
Introduction
This document describes how to set up a PXE server for kickstart installation of Fedora Core 6, this also apply to earlier version of FC and Redhat releases.
The PXE (Pre-Execute Environment) network boot is a specification defining how to boot a computer through network without using floppy or CD.
Kickstart installation is to utilize the PXE boot, specify the configuration of installation, and achieve unattened installation of linux system.
With the PXE server and kickstart configuration, you can install handrads of linux computers at the same time unattendedly.
Case Study
I have an old compaq deskpro, I need to boot fedora core 6 from PXE network boot server without my attendance.
The compaq deskpro NIC MAC is 00:08:C7:AA:D1:EA, The PXE boot server is a redhat 8.0, which runs
tftp-server-0.29-3
DHCPD
apache httpd
I document here how I setup and trouble shoot the PXE booting and kickstart install.
DHCP config:
/etc/dhcpd.conf has this
...
host sun{
hardware ethernet 00:08:C7:AA:D1:EA;
fixed-address 10.28.43.187;
option host-name "sun";
filename "pxelinux.0";
}
...
TFTP setup:
all fedora core install CDs are located in /svn/tftpboot/fc6
# ls /svn/tftpboot
fc6 initrd.img pxelinux.0 pxelinux.cfg vmlinuz
#gethostip 10.28.43.187
10.28.43.187 10.28.43.187 0A1C2BBB
#ls pxelinux.cfg
bootfc6
0A1C2BEB -> bootfc6 # another computer also boot through PXE
0A1C2BBB -> bootfc6
default
bootfc6 file is
prompt 1
default fc6
timeout 100
label fc6
kernel vmlinuz
append ksdevice=eth0 console=tty0 load_ramdisk=1 initrd=initrd.img ramdisk_size=9216 ks=nfs:build.ralise.com:/svn/tftpboot/fc6/ksfc6.cfg noapic acpi=off
default file is
default local
label local
localboot 0
/etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -r blksize -s /svn/tftpboot
disable = no
per_source = 11
cps = 100 2
}
note: server_args shows server source folder is /svn/tftpboot
Issue and trouble shooting:
before I added -r blksize to tftp file, I encountered boot client problem,
Issue 1: start desckpro, F10 to set boot order, the network boot goes first, Plug and Play Device boot
when computer boots up, DHCP got IP correctly, but then shows this error
PXE-EA1: No PXE server found, using standard boot file
IP ADDR: 10.28.43.187
TFTP.....
PXE-E32: TFTP open timeout
verified tftp server is working
tftp serverIP
get pxelinux.0
After google around, then did this, ref: http://www.redhat.ru/archives/k12osn/2004-February/msg00733.html
disable path MTU discovery on the boot server by changing the content of /proc/sys/net/ipv4/ip_no_pmtu_disc from 0 to 1.
To do this. as root, run echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc from the command line. If you ever reboot your server you will have to rerun this command.
and add -r blksize to /etc/xinetd.d/tftp, restart xinetd
Issue 2: boot client, keep getting error of
Could not find kernel image: linux
I used to check packets: tcpdump -i eth0 -nXxSx 0 host 10.28.43.187
and found the pxelinux.0 did download to client
09:39:00.188711 10.28.43.187.57217 > 10.28.43.3.tftp: [udp sum ok] 38 RRQ "pxelinux.cfg/0A1C2BBB" (ttl 20, id 23, len 66)
finally figured out the 0A1C2BBB file matched, but the file is empty file (initially I touch that file to create the empty file), I expect the default file will be return, but since 0A1C2BBB matched, the default file will not be returned. so I need add linux kernel image instruction to the file 0A1C2BBB. Actually, I wrote bootfc6 file above, and use softlink to link 0A1C2BBB to bootfc6.
Reference:
http://www.stanford.edu/~alfw/PXE-Kickstart/PXE-Kickstart.html#toc4
|
anonymous |
Fri Feb 13 11:48:23 -0500 2009
null |