# To stupid for setting up a tftpd server

## musv

Hi there, 

I've spent hours and hours today for setting up a tftpd server, but I can't get it running. Every tutorial is saying something different. 

Goal:

Start memtest86+ and SysrescueCD via PXE on any client machine in my network.

Setup DHCPD:

```
…

subnet 192.168.109.0 netmask 255.255.255.0 {

    range 192.168.109.50 192.168.109.79; 

    # TFTP-Server

    next-server 192.168.109.11;

    filename "pxelinux.0";

}

…

```

The dhcpd server works. When I select PXE-Boot at a client, I get an IP. 

Setup TFTP-HPA:

Instead of posting all configs, just the ps output of the running daemon:

```

root      3612  0.0  0.1   2324   728 ?        Ss   12:38   0:00 /usr/bin/in.tftpd --listen -s -v -l /srv/tftp/
```

```

-rw-r--r-- 1 root root 116560 13. Jun 12:15 /srv/tftp/ldlinux.c32

-rw-r--r-- 1 root root  23524 13. Jun 12:17 /srv/tftp/libutil.c32

-rw-r--r-- 1 root root  56292 13. Jun 12:35 /srv/tftp/menu.c32

-rw-r--r-- 1 root root  26579 13. Jun 12:26 /srv/tftp/pxelinux.0

-rw-r--r-- 1 root root 155792 13. Jun 12:26 /srv/tftp/vesamenu.c32

/srv/tftp/boot:

insgesamt 196

drwxr-xr-x 2 root root   4096 13. Jun 12:23 .

drwxr-xr-x 5 root root   4096 13. Jun 12:26 ..

-rwxr-xr-x 1 root root 190896 13. Jun 08:25 memtest.bin

/srv/tftp/pxelinux.cfg:

insgesamt 12

drwxr-xr-x 2 root root 4096 13. Jun 12:43 .

drwxr-xr-x 5 root root 4096 13. Jun 12:26 ..

-rw-r--r-- 1 root root  300 13. Jun 12:37 default

/srv/tftp/srcd:

insgesamt 364684

drwxr-xr-x 2 root root      4096 13. Jun 12:26 .

drwxr-xr-x 5 root root      4096 13. Jun 12:26 ..

-rw-r--r-- 1 root root  15404772 13. Jun 12:24 initram.igz

-rw-r--r-- 1 root root  12202992 13. Jun 12:26 rescue32

-rw-r--r-- 1 root root  13340848 13. Jun 12:26 rescue64

-rw-r--r-- 1 root root 332468224 13. Jun 12:24 sysrcd.dat
```

The files ldlinux.c32,  libutil.c32,  menu.c32 and pxelinux.0 I took from the SysrescueCD. In several tutorial they write, only the menu.c32 and pxelinux.0 is necessary, but that seems to be wrong. My notebook (Lenovo S12) expected the other listed files too. 

```
DEFAULT menu.c32

#DEFAULT vesamenu.c32

PROMPT 0

NOESCAPE 0

ALLOWOPTIONS 0

MENU TITLE PXE Boot Menu

TIMEOUT 100

LABEL SRCD

MENU LABEL SystemRescueCD 2.4.1

kernel srcd/rescuecd32

append initrd=/srcd/initram.igz netboot=tftp://192.168.109.11/srcd/sysrcd.dat

LABEL Memtest86+

kernel boot/memtest86.bin
```

Behaviour / Logs:

I 'm trying to get that thing running with 2 notebooks, an older Lenovo S12 and my new Clevo W230SS. 

Lenovo S12:

Receives an IP from the server

Shows the Syslinux menu

Selecting an entry in the menu doesn't boot anything. In the logfile of the server, the requested file is shown. But I don't have any idea, what happens.

```
Jun 13 12:35:38 Nas systemd[1]: Starting hpa's original TFTP daemon...

Jun 13 12:35:38 Nas systemd[1]: Started hpa's original TFTP daemon.

Jun 13 12:36:00 Nas dhcpd[2736]: DHCPDISCOVER from 00:26:2d:f5:9e:11 via eth0

Jun 13 12:36:00 Nas dhcpd[2736]: DHCPOFFER on 192.168.109.21 to 00:26:2d:f5:9e:11 via eth0

Jun 13 12:36:04 Nas dhcpd[2736]: DHCPREQUEST for 192.168.109.21 (192.168.109.11) from 00:26:2d:f5:9e:11 via eth0

Jun 13 12:36:04 Nas dhcpd[2736]: DHCPACK on 192.168.109.21 to 00:26:2d:f5:9e:11 via eth0

Jun 13 12:36:04 Nas in.tftpd[3563]: RRQ from 192.168.109.21 filename pxelinux.0

Jun 13 12:36:04 Nas in.tftpd[3563]: tftp: client does not accept options

Jun 13 12:36:04 Nas in.tftpd[3564]: RRQ from 192.168.109.21 filename pxelinux.0

Jun 13 12:36:04 Nas in.tftpd[3565]: RRQ from 192.168.109.21 filename pxelinux.cfg/d0bccf20-35e9-11df-92db-a8c5c2df1ce4

Jun 13 12:36:04 Nas in.tftpd[3566]: RRQ from 192.168.109.21 filename pxelinux.cfg/01-00-26-2d-f5-9e-11

Jun 13 12:36:04 Nas in.tftpd[3567]: RRQ from 192.168.109.21 filename pxelinux.cfg/C0A86D15

Jun 13 12:36:04 Nas in.tftpd[3568]: RRQ from 192.168.109.21 filename pxelinux.cfg/C0A86D1

Jun 13 12:36:04 Nas in.tftpd[3569]: RRQ from 192.168.109.21 filename pxelinux.cfg/C0A86D

Jun 13 12:36:04 Nas in.tftpd[3570]: RRQ from 192.168.109.21 filename pxelinux.cfg/C0A86

Jun 13 12:36:04 Nas in.tftpd[3571]: RRQ from 192.168.109.21 filename pxelinux.cfg/C0A8

Jun 13 12:36:04 Nas in.tftpd[3572]: RRQ from 192.168.109.21 filename pxelinux.cfg/C0A

Jun 13 12:36:04 Nas in.tftpd[3573]: RRQ from 192.168.109.21 filename pxelinux.cfg/C0

Jun 13 12:36:04 Nas in.tftpd[3574]: RRQ from 192.168.109.21 filename pxelinux.cfg/C

Jun 13 12:36:04 Nas in.tftpd[3575]: RRQ from 192.168.109.21 filename pxelinux.cfg/default

Jun 13 12:36:04 Nas in.tftpd[3576]: RRQ from 192.168.109.21 filename menu.c32

Jun 13 12:36:04 Nas in.tftpd[3577]: RRQ from 192.168.109.21 filename pxelinux.cfg/default

Jun 13 12:36:07 Nas in.tftpd[3578]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:08 Nas in.tftpd[3579]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:09 Nas in.tftpd[3580]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:09 Nas in.tftpd[3581]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:09 Nas in.tftpd[3582]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:10 Nas in.tftpd[3583]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:10 Nas in.tftpd[3584]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:10 Nas in.tftpd[3585]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:11 Nas in.tftpd[3586]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:11 Nas in.tftpd[3587]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin
```

Clevo W230SS:

Receives an IP from the server

Doesn't show the Syslinux menu in UEFI.

Error on the display: Reboot an select a proper Boot device

With UEFI disabled I receive the same behaviour like the Lenovo S12

```
Jun 13 12:39:31 Nas dhcpd[2736]: DHCPDISCOVER from 80:fa:5b:07:fb:f6 via eth0

Jun 13 12:39:32 Nas dhcpd[2736]: DHCPOFFER on 192.168.109.56 to 80:fa:5b:07:fb:f6 via eth0

Jun 13 12:39:35 Nas dhcpd[2736]: DHCPREQUEST for 192.168.109.56 (192.168.109.11) from 80:fa:5b:07:fb:f6 via eth0

Jun 13 12:39:35 Nas dhcpd[2736]: DHCPACK on 192.168.109.56 to 80:fa:5b:07:fb:f6 via eth0

Jun 13 12:39:35 Nas in.tftpd[3630]: RRQ from 192.168.109.56 filename pxelinux.0

Jun 13 12:39:35 Nas in.tftpd[3630]: tftp: client does not accept options

Jun 13 12:39:35 Nas in.tftpd[3631]: RRQ from 192.168.109.56 filename pxelinux.0
```

Where's my missing point?

----------

## NeddySeagoon

musv,

Your tftp server contains

```
/srv/tftp/boot:

insgesamt 196

drwxr-xr-x 2 root root   4096 13. Jun 12:23 .

drwxr-xr-x 5 root root   4096 13. Jun 12:26 ..

-rwxr-xr-x 1 root root 190896 13. Jun 08:25 memtest.bin 
```

but you ask it for

```
LABEL Memtest86+

kernel boot/memtest86.bin
```

Which you can see 

```
Jun 13 12:36:10 Nas in.tftpd[3584]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:10 Nas in.tftpd[3585]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:11 Nas in.tftpd[3586]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin

Jun 13 12:36:11 Nas in.tftpd[3587]: RRQ from 192.168.109.21 filename /srv/tftp/boot/memtest86.bin
```

Grub would say Error 15.

memtest.bin <> memtest86.bin, so the file is not found.

----------

