I've read a lot about this, and tried all the troubleshooting steps I've found.
I'm getting the PXE-T01 and FILE NOT FOUND when I attempt to boot the test machine via PXE.
Here's what I have:
Machine A:
10.1.1.1 (eth1; eth0 is plugged into "the internet")
running DHCP / tftp
also NFS for kickstart and apache for serving a repo for installs.
Machine B:
(test machine, on same subnet).
this machine is currently installed and up at 10.1.1.151 just to test things.
My dhcpd.conf file (or the relevant bits of it):
Code:
ddns-update-style none;
ignore client-updates;
allow booting;
allow bootp;
(...)
host test1 {
next-server 10.1.1.1;
filename "pxeboot.0";
hardware ethernet 00:13:72:51:0E:6A;
fixed-address 10.1.1.150;
}
My tftp conf file (/etc/xinetd.d/tftp) relevant bits:
Code:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
(... etc)
The contents of /tftpboot:
Code:
[root@install1 tftpboot]# ll -h
total 7.2M
-rw-rw-r-- 1 root root 5.5M Jul 8 10:17 initrd.img
-rw-rw-r-- 1 root root 13K Dec 19 2005 pxelinux.0
drwxr-xr-x 2 root root 4.0K Jul 8 14:23 pxelinux.cfg
-rw-rw-r-- 1 root root 1.8M Jul 8 10:17 vmlinuz
The contents of /tftpboot/pxelinux.cfg/default:
(not that this is that important; I don't think it gets this far)
Code:
default linux
timeout 100
label linux
kernel vmlinuz
append initrd=initrd.img ramdisk_size=7177
IPAPPEND 1
Ok, so now that we've established that I understand that tftp chroots into /tftpboot, and I have my files there, and i'm not referencing it in any sort of funny way, we can test tftp with a tftp client on the test machine.
This is from the test machine:
Code:
[root@localhost tftptest]# ll
total 0
[root@localhost tftptest]# tftp -v 10.1.1.1
Connected to 10.1.1.1 (10.1.1.1), port 69
tftp> get pxelinux.0
getting from 10.1.1.1:pxelinux.0 to pxelinux.0 [netascii]
Received 13246 bytes in 0.1 seconds [1336293 bit/s]
tftp> get vmlinuz
getting from 10.1.1.1:vmlinuz to vmlinuz [netascii]
Received 1820167 bytes in -0.2 seconds [-65259427 bit/s]
tftp> get initrd.img
getting from 10.1.1.1:initrd.img to initrd.img [netascii]
Received 5711760 bytes in 10.8 seconds [4238630 bit/s]
tftp> quit
[root@localhost tftptest]# ll
total 7340
-rw-r--r-- 1 root root 5669675 Jul 8 15:17 initrd.img
-rw-r--r-- 1 root root 13100 Jul 8 15:17 pxelinux.0
-rw-r--r-- 1 root root 1806388 Jul 8 15:17 vmlinuz
so CLEARLY tftp is working.
Also, when I boot the client machine, this shows up in /var/log/messages on the server:
Code:
Jul 8 13:57:19 localhost dhcpd: DHCPDISCOVER from 00:13:72:51:0e:6a via eth1
Jul 8 13:57:19 localhost dhcpd: DHCPOFFER on 10.1.1.150 to 00:13:72:51:0e:6a via eth1
Jul 8 13:57:21 localhost dhcpd: Dynamic and static leases present for 10.1.1.150.
Jul 8 13:57:21 localhost dhcpd: Remove host declaration test1 or remove 10.1.1.150
Jul 8 13:57:21 localhost dhcpd: from the dynamic address pool for 10.1.1/24
Jul 8 13:57:21 localhost dhcpd: DHCPREQUEST for 10.1.1.150 (10.1.1.1) from 00:13:72:51:0e:6a via eth1
Jul 8 13:57:21 localhost dhcpd: DHCPACK on 10.1.1.150 to 00:13:72:51:0e:6a via eth1
Jul 8 13:57:21 localhost xinetd[22656]: START: tftp pid=22976 from=10.1.1.150
And yet, I'm getting the PXE FILE NOT FOUND errors when I attempt to boot the client.
So, if the client is hitting the DHCP server during the PXE process, and spawning a TFTP server, and I know the tftp server works and is transferring files... what gives?
~X