I am trying to pxe-boot a machine (client), and in the process I am trying to setup a tftp server that this machine can boot off.
On the server, which runs Ubuntu 10.10, I have setup dhcp, dns, nfs, and tftp-hpa servers. All the servers/deamons start fine. I tested the tftp server by using a tftp client and downloading a file that the server directory hosts.
My /etc/xinet.d/tftp looks like this
service tftp
{
disable = no
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -v -s /var/lib/tftpboot
only_from = 10.1.0.0/24
interface = 10.1.0.1
}
My /etc/default/tftpd-hpa looks like this
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
My /var/lib/tftpboot/ directory looks like this
initrd.img-2.6.35-25-generic-pae
vmlinuz-2.6.35-25-generic-pae
pxelinux.0
pxelinux.cfg
-- default
I did
sudo chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
chmod 755 /var/lib/tftpboot/initrd.img-2.6.35-25-generic-pae
chmod 755 /var/lib/tftpboot/vmlinuz-2.6.35-25-generic-pae
/var/lib/tftpboot/pxelinux.cfg has the following contents
SERIAL 0 19200 0
LABEL linux
KERNEL vmlinuz-2.6.35-25-generic-pae
APPEND root=/dev/nfs initrd=initrd.img-2.6.35-25-generic-pae nfsroot=10.1.0.1:/nfsroot ip=dhcp console=ttyS0,19200n8 rw
I copied /var/lib/tftpboot/pxelinux.0 from /usr/lib/syslinux/ after installing the package syslinux-common.
Also just for completeness, /etc/dhcp3/dhcpd.conf the following lines (relevant to this interface)
subnet 10.1.0.0 netmask 255.255.255.0 {
range 10.1.0.100 10.1.0.240;
option routers 10.1.0.1;
option broadcast-address 10.1.0.255;
option domain-name-servers 10.1.0.1;
filename "pxelinux.0";
}
When I boot the client machine, and watch the output over the serial port, I notice that the client requests an ip address from the server and gets it. Then I see TFTP being displayed - indicating that it is trying to connect to the TFTP server. This succeeds, and I see TFTP.|, which return immediately displaying the following message
PXELINUX 4.01 debian-20100714 Copyright (C) 1994-2010 H. Peter Anvin et al
No DEFAULT or UI configuration directive found!
boot:
/var/log/syslog shows
Feb 20 15:24:05 ch in.tftpd[2821]: tftp: client does not accept options
What option is it talking about in the syslog? I assume it is referring to OPTIONS or TFTP_OPTIONS, but what am I doing wrong?