pxe boot server

Hi

Hoping someone can help ove setup a pxe/dhcp boot server for auto installs on centos My server seems to be providing dhcp fine but the installation fails to progress when it reaches the pxe boot menu. I make my selection and nothing happens. I am serving the media via http from the same system which is providing pxe/dhcp. Http seems to be working has i can open the url and get to the contents of the media.

Pxe Configuration
/var/lib/tftpboot

OS boot files (vmlinux/initrd.img)
/var/lib/tftpboot/rhel6.1

Dhcp config

default-lease-time 600;
max-lease-time 7200;

authoritative;

log-facility local7;

next-server 192.168.0.102;
filename "/pxelinux.0";
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.120 192.168.0.130;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
allow booting;
allow bootp;
}

boot menu config (/var/lib/tftpboot/pxelinux.cfg/default)
default menu.c32
prompt 0
timeout 300

menu title ################ PXE BOOT MENU ##################

LABEL RHEL 6.1
MENU LABEL RHEL 6.1 KS
kernel rhel6.1/vmlinux append initrd=rhel6.1/initrd.img
method=http://192.168.0.102/rhel61
#ks=http://192.168.0.102/kickstart/test.cfg ksdevice=eth0 devfs=nomount

(ive commented out the kickstart stuff on purpose for now)

TFTP config

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}

The logs state the following when i boot the client;
Apr 9 12:02:35 senna dhcpd: DHCPDISCOVER from 00:0c:29:1f:24:7e via eth0
Apr 9 12:02:36 senna dhcpd: DHCPOFFER on 192.168.0.120 to 00:0c:29:1f:24:7e via eth0
Apr 9 12:02:38 senna dhcpd: DHCPREQUEST for 192.168.0.120 (192.168.0.102) from 00:0c:29:1f:24:7e via eth0
Apr 9 12:02:38 senna dhcpd: DHCPACK on 192.168.0.120 to 00:0c:29:1f:24:7e via eth0
Apr 9 12:02:38 senna in.tftpd[3162]: tftp: client does not accept options

I basically get to my pxe boot menu, but when i select the rhel option to do the install nothing happens??? Any ideas.

You're almost there but your menu entry looks wrong.

If nothing happens when you attempt to select a menu entry it's almost certain the configuration options are either malformed or the item(s) you're attempting to load (notably, initrd.img and vmlinux) are not actually there.

I am fairly certain "method=" is not a valid option to put on the append line or otherwise. I've never seen it and I've been steeped in the Kickstart world for years. I would take it out.

I realize the forum software may have garbled the linebreaks, but just in case, for cleanliness, put each of these on their own line:

kernel rhel6.1/vmlinux 
append initrd=rhel6.1/initrd.img

Start with that. If that works then put ks=http://192.168.0.102/kickstart/test.cfg ksdevice=eth0 devfs=nomount back on the append line in the menu config.

If it still doesn't work then be really certain the rhel6.1 folder is in your tftpboot folder and that its permissions are correction; i.e.,

find -type d /yourtftpbootfolder -exec chmod 755 {} \; 
find -type f /yourtftpbootfolder -exec chmod 644 {} \;

If that all looks good and it still doesn't work you can use a tool like tcpdump to watch the tftp traffic to see how the daemon is responding; e.g.,

tcpdump -n -i eth0 port 69

You might get a clue if it's not finding the file(s) and/or folder(s) and resolve the issue from there.

Hi
Thanks for your reply

I will def update my menu tonight with what you have suggested. I am 100% sure that the vmlinux and initr files are in place. The rhel6.1 directory also is withint he tftp location /var/lib/tftpboot/ (i will double check the permissions). Its frustrating as you say I'm almost there with this, so will post back later today with what happens. many thanks again

---------- Post updated at 03:10 PM ---------- Previous update was at 02:32 AM ----------

Hi

Thanks for you help just wanted to say it has worked. The tc[dump helped to diagnose the problem. I had a typo in the menu vmlinux should of read vmlinuz

Ive left the menu default at the moment with what you had suggested, i'll now add in the kickstart script. Thanks again for your helpfull pointers

Sure! Glad it helped. Yea usually the kernels are named vmlinuz or linux, depending on the distribution. I completely missed that.