1

After my ltsp-build-client --arch i386 All went well, but for some reasons tftpd-hpa wasn't installed there were no /var/lib/tftpboot folder.

So I had to install tftpd-hpa manually. DHCP is working well but it can't find pxelinux.0 file (it just doesn't exist).

Here is my DHCP server conf.

authoritative;

subnet 10.10.10.0 netmask 255.255.255.0 {
    range 10.10.10.20 10.10.10.250;
    option domain-name "example.net";
    option domain-name-servers 10.10.10.1;
    option broadcast-address 10.10.10.255;
    option routers 10.10.10.1;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/i386";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
    } else {
        filename "/ltsp/i386/nbi.img";
    }
}

client machines are saying:

PXE-T01: File not found
PXE-E3B: TFTP Error - File Not Found

PXE-MOF: Exiting Intel PXE ROM.

The question: How to generate the pxelinux.0 file and/or nbi.img file? There is image though in /opt/ltsp/i386/images/i386.img But I'm not sure what's that image for.

TFTP Server is running by: /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure /var/lib/tftpboot

the /var/lib/tftpboot folder is empty.

Or another question. How to Generate pxelinux.0 and nbi.img file again?

bakytn
  • 1,097
  • 4
  • 15
  • 27

2 Answers2

2

PXE boot goes from parent of tftp directory specified in xinetd or some other super server. Here is mine:

[root@sl6 dhcp]# more /etc/xinetd.d/tftp 
# default: off
# description: The tftp server serves files using the trivial file transfer \
#   protocol.  The tftp protocol is often used to boot diskless \
#   workstations, download configuration files to network-aware printers, \
#   and to start the installation process for some operating systems.
service tftp
{
    disable = no
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -s /var/lib/tftpboot
    per_source      = 11
    cps         = 100 2
    flags           = IPv4
}

So you either need to change the server arg path so that it is point to the location of your images or you move the image so that they are located here:

/var/lib/tftpboot/ltsp/i386/images/pxelinux.0
/var/lib/tftpboot/ltsp/i386/images/i386.img
Rilindo
  • 5,058
  • 5
  • 26
  • 46
  • Thank you for the answer. In the system there is no /etc/xinetd.d at all. BTW I have copied the contents from /opt/ltsp/i386/boot folder to the /var/lib/tftpboot/ltsp/i386. And things are now working fine. – bakytn Jul 09 '11 at 13:14
  • But Now I'm fighting with performance. (to be able to watch youtube videos smoothly from the thin clients. But that's another story, thank you! – bakytn Jul 09 '11 at 13:15
0

I have copied the contents from /opt/ltsp/i386/boot folder to the /var/lib/tftpboot/ltsp/i386. And things are now working fine

bakytn
  • 1,097
  • 4
  • 15
  • 27