Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
TFTP servers don't respond to PXE requests
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
pa4wdh
l33t
l33t


Joined: 16 Dec 2005
Posts: 916

PostPosted: Wed Jul 23, 2008 6:36 pm    Post subject: TFTP servers don't respond to PXE requests Reply with quote

Hi All,

I have two computers which are able to perform a network boot with a PXE environment (A Fujitsu Siemens S7020 laptop and a Soekris 5501-70). I'm trying to configure a server (DHCP+TFTP), but the TFTP part seems to fail.

Problem:
In all cases which i tried (both PC's and 3 different TFTP servers) the PC gets an IP address from the DHCP server, and try to get the file configured in dhcpd's configuration from the TFTP server. However, the tftp server does not respond to requests comming from the PXE booting computer. However, the laptop is able to boot a Gentoo install from it's local harddrive too, if i do that and use a Linux tftp client to test the setup, i am able to receive the file which the PXE's request.

What did i try:
I've tried three TFTP servers so far:
- tftp-hpa (as a daemon and via xinetd)
- atftpd (as a daemon)
- netkit-tftpd (via xinetd)

To verify tftp server is working:
- tftp localhost from the server itself and receive the file the PXE booting PC's request (worked with all 3 servers)
- Boot the laptop from it's local install and try to receive the same file (worked with all 3 servers)
- "netstat -an | grep udp" shows port 69 in use.
I also keep an "tcpdump udp port 69" running all the time, this shows all requests, but no answers to the PXE requests.

What i also found:
When looking at the tftp requests in tcpdump/wireshark i see a difference between the PXE requests and the request from Linux client. The PXE's seem to use the "tsize" and "blksize" tftp options, and the Linux clients don't. Disabling these options on the server side doesn't make a difference.
When running a tftp server in daemon mode with strace, i see they block at a "select" call. Which is what it's supposed to do according to the manual. However, when a packet comes in, it doesn't go on to process it.

Is anyone able to help me troubleshooting this issue ?

Sorry for the rather long post. If you need any additional information please let me know.

Best regards,
pa4wdh
_________________
The gentoo way of bringing peace to the world:
USE="-war" emerge --newuse @world

My shared code repository: https://code.pa4wdh.nl.eu.org
Music, Free as in Freedom: https://www.jamendo.com
Back to top
View user's profile Send private message
sedorox
Apprentice
Apprentice


Joined: 13 Feb 2004
Posts: 207

PostPosted: Thu Jul 24, 2008 1:36 am    Post subject: Reply with quote

I recently just setup PXE booting, this way I could completely get rid of the HDD in my MythTV Frontend, which was already using nfsroot.
I have one box which is the DHCP server (ISC DHCP) and the TFTP Server (tftp-hpa), and the NFS Server.
Here is the /etc/conf.d/in.tftpd file:
Code:

# /etc/init.d/in.tftpd

# Path to server files from
# Depending on your application you may have to change this.
# This is commented out to force you to look at the file!
#INTFTPD_PATH="/var/tftp/"
#INTFTPD_PATH="/tftpboot/"
INTFTPD_PATH="/storage/tftp/"

# For more options, see in.tftpd(8)
# -R 4096:32767 solves problems with ARC firmware, and obsoletes
# the /proc/sys/net/ipv4/ip_local_port_range hack.
# -s causes $INTFTPD_PATH to be the root of the TFTP tree.
# -l is passed by the init script in addition to these options.
INTFTPD_OPTS="-R 4096:32767 -s ${INTFTPD_PATH} -c"


/storage is a Software RAID 1 500gig setup.

And the relevant part of the dhcpd config
Code:

host MythFE1 {
        hardware ethernet 00:10:18:xx:xx:xx;
        fixed-address 10.0.3.12;
        option root-path        "10.0.3.2:/storage/netboot/fe1";
        next-server 10.0.3.2;
        filename        "pxelinux.0";
}

pxelinux.0 sits in /storage/tftp/
and I also have a /storage/tftp/pxelinux.cfg directory which has the configuration file, 0A00030C (hex of the IP 10.0.3.12):
Code:

DEFAULT pxelinux.cfg/bzImage-2623-1 ip=dhcp root=10.0.3.2:/storage/netboot/fe1

in the pxelinux.cfg directory, as you can probably tell above, I have the kernel image, named bzImage-2623-1.

I hope this helps!
_________________
Home Desktop: Ryzen 3900X 3.8ghz | 32G Ram | 2x 1TB NVMe
Previous 7 Year Build: Intel i5-2400 3.1ghz | 16G Ram | 1x 60G SSD, 1x 1TB HDD
Back to top
View user's profile Send private message
pa4wdh
l33t
l33t


Joined: 16 Dec 2005
Posts: 916

PostPosted: Fri Jul 25, 2008 7:43 am    Post subject: Reply with quote

Thanks, sorry for my somewhat late response.

My intention was to try your setup yesterday and report my results. However, i didn't have time to try, so i hope i'll be able to try today ...

Thanks again for all the info.
_________________
The gentoo way of bringing peace to the world:
USE="-war" emerge --newuse @world

My shared code repository: https://code.pa4wdh.nl.eu.org
Music, Free as in Freedom: https://www.jamendo.com
Back to top
View user's profile Send private message
sedorox
Apprentice
Apprentice


Joined: 13 Feb 2004
Posts: 207

PostPosted: Sat Jul 26, 2008 1:03 am    Post subject: Reply with quote

pa4wdh wrote:
Thanks, sorry for my somewhat late response.

My intention was to try your setup yesterday and report my results. However, i didn't have time to try, so i hope i'll be able to try today ...

Thanks again for all the info.


Thats fine. I would be interested to know if it helps you. I saw a few different ways of doing this, and this was one of them. Most of them were basically the same. One had me creating a bunch of empty files that referenced the network, then worked down to the stations IP, and also the MAC, the GUID, etc.. Which at least on my Frontend (which has a Broadcom Gigabit NIC) it searches for the IP (in Hex), MAC, and GUID.
_________________
Home Desktop: Ryzen 3900X 3.8ghz | 32G Ram | 2x 1TB NVMe
Previous 7 Year Build: Intel i5-2400 3.1ghz | 16G Ram | 1x 60G SSD, 1x 1TB HDD
Back to top
View user's profile Send private message
pa4wdh
l33t
l33t


Joined: 16 Dec 2005
Posts: 916

PostPosted: Sat Jul 26, 2008 9:27 am    Post subject: Reply with quote

Hi,

I'm sorry to say that also your setup didn't help me. However, i'm pretty sure it's not your setup.

This is what happened:
Since the tftp server was causing all trouble ... i remembered an old Pentium II i had installed with SuSE 7.1 (somewhere from the stone age i think :-) ) and i used it to boot xterminals. I configured pxelinux to download the right files and it almost immediately worked ! So it's 100% sure it's something with the server ... but i'm not sure what :-(
After that i had some other issues (like binaries being i686 compiled, but processor is i586), but's all solved.

However, the system is now bootstrapping a stage1 install ... which i think will take a few days on a AMD Geode @ 500 MHz :-)

Thanks again for you help.

Best regards,
pa4wdh
_________________
The gentoo way of bringing peace to the world:
USE="-war" emerge --newuse @world

My shared code repository: https://code.pa4wdh.nl.eu.org
Music, Free as in Freedom: https://www.jamendo.com
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum