LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices


Reply
  Search this Thread
Old 07-08-2008, 02:24 PM   #1
xiaodown
Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Redhat, Centos, Fedora
Posts: 37

Rep: Reputation: 15
PXE Boot issues - TFTP?


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
 
Old 07-08-2008, 02:31 PM   #2
xiaodown
Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Redhat, Centos, Fedora
Posts: 37

Original Poster
Rep: Reputation: 15
update:

Now i'm trying rebooting the client machine, and I'm not seeing the tftp thing in /var/log/messages. That may have been incidental.

But, whenever I reboot, the DHCP stuff does show up in /var/log/messages from the attempted PXE boot.

It just never boots.

All I'm trying to do is get it to the point where, just as if I'd booted off a net-boot CD, it's asking me "hit enter, or type linux text for text install". Once I get it to that point, I'm hoping I can pass it options related to kickstart via the "append" and make it kickstart its self after pxe booting. I've got the kickstart stuff working (boot off a CD with linux ip=dhcp ksdevice=eth0 ks=nfs:server:/path and bam, kickstart works).

Just trying to tie PXE booting into that system.

~X
 
Old 07-08-2008, 03:11 PM   #3
Chromezero
Member
 
Registered: Nov 2004
Location: Arizona
Distribution: Slackware, RHEL, others
Posts: 470

Rep: Reputation: 40
You need to have the actual PXE boot file in /tftpboot/pxelinux.cfg/. It should be a file like "01-00-12-34-56-7d-8d", which is 01-MAC Address. This file contains the basic info for the system to boot with. The file name is the mac address of the machine you're trying to PXE boot. It knows to use this file because it's looking for it's own mac address. The file should look somthing like this...
Code:
default ks
label ks
  kernel fc8/vmlinuz
  append initrd=fc6/initrd.img ks=nfs:192.168.2.101:/kickstart/configs/newmachine.fc8 ksdevice=eth0 network
I'm no expert on the subject, but I kickstart machines on a regular basis and this seems to work for me.
*Edit*
You'll need to change the appropriate variables in the pxe config file. The one shown here is for kickstarting a machine, but should give you some idea of what happens.

Last edited by Chromezero; 07-08-2008 at 03:15 PM.
 
Old 07-08-2008, 03:36 PM   #4
xiaodown
Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Redhat, Centos, Fedora
Posts: 37

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by Chromezero View Post
You need to have the actual PXE boot file in /tftpboot/pxelinux.cfg/. It should be a file like "01-00-12-34-56-7d-8d", which is 01-MAC Address. This file contains the basic info for the system to boot with. The file name is the mac address of the machine you're trying to PXE boot. It knows to use this file because it's looking for it's own mac address. The file should look somthing like this...
Code:
default ks
label ks
  kernel fc8/vmlinuz
  append initrd=fc6/initrd.img ks=nfs:192.168.2.101:/kickstart/configs/newmachine.fc8 ksdevice=eth0 network
I'm no expert on the subject, but I kickstart machines on a regular basis and this seems to work for me.
*Edit*
You'll need to change the appropriate variables in the pxe config file. The one shown here is for kickstarting a machine, but should give you some idea of what happens.
Right, as I posted above, I have a file /tftpboot/pxelinux.cfg/default which has those options specified. PXELINUX should look through an entire heirarchy of MAC address-named files, then hex-ip named files, then at the bottom, it should look for the file named "default".

I will try to do this, but I'm not even sure that PXE boot is getting this far in the process, or that it's required. I'll post results in a bit.


~X
 
Old 07-08-2008, 03:42 PM   #5
Chromezero
Member
 
Registered: Nov 2004
Location: Arizona
Distribution: Slackware, RHEL, others
Posts: 470

Rep: Reputation: 40
Ah yes, somehow I missed the bit about your default pxe config file. It seems to me like that should work. I've just never tried it that way.
 
Old 07-08-2008, 03:45 PM   #6
xiaodown
Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Redhat, Centos, Fedora
Posts: 37

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by Chromezero View Post
Ah yes, somehow I missed the bit about your default pxe config file. It seems to me like that should work. I've just never tried it that way.
I tried it with that file, and I'm not in the datacenter to see what flew by on the console (oh, but for an IP KVM). However, I saw this while tailing /var/log/messages:

Code:
Jul  8 16:39:40 localhost dhcpd: DHCPDISCOVER from 00:13:72:51:0e:6a via eth1
Jul  8 16:39:40 localhost dhcpd: DHCPOFFER on 10.1.1.150 to 00:13:72:51:0e:6a via eth1
Jul  8 16:39:42 localhost dhcpd: Dynamic and static leases present for 10.1.1.150.
Jul  8 16:39:42 localhost dhcpd: Remove host declaration test1 or remove 10.1.1.150
Jul  8 16:39:42 localhost dhcpd: from the dynamic address pool for 10.1.1/24
Jul  8 16:39:42 localhost dhcpd: DHCPREQUEST for 10.1.1.150 (10.1.1.1) from 00:13:72:51:0e:6a via eth1
Jul  8 16:39:42 localhost dhcpd: DHCPACK on 10.1.1.150 to 00:13:72:51:0e:6a via eth1
Jul  8 16:39:42 localhost xinetd[25496]: START: tftp pid=25825 from=10.1.1.150

but, alas, in the end it booted to the disk os, and the test machine is back up at its old IP.

It may have wanted me to do something on the console, though, so I'll check on that tomorrow.

~X
 
Old 07-08-2008, 04:05 PM   #7
xiaodown
Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Redhat, Centos, Fedora
Posts: 37

Original Poster
Rep: Reputation: 15
from the dhcpd.conf file:

filename "pxeboot.0";



oh you've got to be effing kidding me.

I'm trying it now.

~X
 
Old 07-08-2008, 04:15 PM   #8
xiaodown
Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Redhat, Centos, Fedora
Posts: 37

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by xiaodown View Post
from the dhcpd.conf file:

filename "pxeboot.0";



oh you've got to be effing kidding me.

I'm trying it now.

~X
Yah.

Fixed.

*facepalm*
 
Old 07-08-2008, 06:19 PM   #9
Chromezero
Member
 
Registered: Nov 2004
Location: Arizona
Distribution: Slackware, RHEL, others
Posts: 470

Rep: Reputation: 40
Ahh, I completely overlooked that! Glad to hear it's working though.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
PXE-E32 TFTP open timeout maxchock Linux - General 11 09-12-2013 07:52 AM
PXE-TFTP Installation Server dipuasks Linux - General 6 12-04-2008 01:44 AM
Booting via PXE/TFTP problem freeindy Linux - Networking 7 03-01-2008 10:02 AM
PXE TFTP thin client paul_mat Linux - Networking 2 01-19-2006 06:41 AM
Network Install PXE/BootP/TFTP unixvillian Linux - Software 1 06-09-2004 02:11 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 04:30 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration