On Sun, Mar 24, 2002 at 05:22:55PM +0100, Alessandro Selli wrote: > > Please excuse the length of the message but I wanted to provide anyone > willing to consider it with all the informations I have concerning the problem > I'm experiencing.
Troubleshooting is made easier, so why not.
> I'm running an LTSP server on a Debian 2.2 machine. When I boot a client out
> of an etherboot floppy, it gets it's correct IP address from the DHCP server,
> but then the tftp kernel download fails with the following error message:
>
> Me: 192.168.0.2, Server: 192.168.0.1, Gateway: 192.168.0.1
> Loading 192.168.0.1:/lts/vmlinuz-2.4.9-ltsp-5 TFTP error 2 (Access violation)
> Unable to load file
>
> On the server's log file (/var/log/syslog) I only find this:
>
> Mar 24 14:28:48 claritas in.tftpd[491]: connect from 192.168.0.2
> Mar 24 14:28:48 claritas tftpd[492]: tftpd: trying to get file:
>/lts/vmlinuz-2.4.9-ltsp-5
OK, a client tries to get a kernel via tftp at
/lts/vmlinuz-2.4.9-ltsp-5
> Some informations concerning my setup:
>
> [root@claritas ~]# ll /tftpboot/lts/
> total 2108
> -rw-r--r-- 1 root root 1054720 Dec 19 21:34 vmlinuz-2.4.9-ltsp-5
> -rw-r--r-- 1 root root 1093120 Dec 19 21:34 vmlinuz-2.4.9-ltsp-lpp-5
Now, /tftpboot/lts is NOT the same as /lts. Here is your problem.
These are absolute paths that need to be the same.
> tftp is version 0.10-1.
>
> [root@claritas ~]# grep tftpd /etc/hosts.allow
> in.tftpd: 192.168.0.0/255.255.255.240
>
> [root@claritas ~]# grep tftp /etc/services
> tftp 69/udp
>
> [root@claritas ~]# grep tftp /etc/inetd.conf
> tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd
>/tftpboot
The tftpdaemon is allowed to give clients files located at /tftpboot.
But the clients requests kernels from /lts.
> [root@claritas ~]# cat /opt/ltsp/i386/etc/lts.conf
[snipped] The clients never got far enough to be concerned with lts.conf
> [root@claritas ~]# cat /etc/dhcpd.conf
>
[snipped]
> host obscuritas {
> hardware ethernet 00:50:04:2C:A4:A8;
> filename "/lts/vmlinuz-2.4.9-ltsp-5";
> fixed-address 192.168.0.2;
> server-name "claritas.localdomain";
> }
A client is told to request the kernel at /lts
> I tried commenting out the "range" lines, to no avail.
>
> I did a search on google with the string "TFTP error 2 (Access violation)", I
> found of other people who had a problem with the same symptoms back in
> 1999/2000. I tried what they where suggested to do, changing the line:
>
> /usr/sbin/in.tftpd /tftpboot
>
> into:
>
> /usr/sbin/in.tftpd /tftpboot /tftpboot/lts
> /usr/sbin/in.tftpd /tftpboot -s /tftpboot
> /usr/sbin/in.tftpd /tftpboot "-s /tftpboot"
"/lts" as the last argument should work.
To sum up. The tftpdaemon must be set up to deliver kernels from the
same absolute path as the dhcpdaemon tells the client to ask for it.
--
Hans Ekbrand
msg03985/pgp00000.pgp
Description: PGP signature
