You are not logged in.

#1 2012-09-01 18:20:11

pbaran
Member
Registered: 2012-09-01
Posts: 5

[SOLVED] tftp: file not found

Hello!
I would like to boot install from second computer using following guide
https://wiki.archlinux.org/index.php/In … rk_via_PXE
and I have a problem that tftp can't see file (probably pxelinux.0). Only different move related to tftp preparing was modification of path /mnt/iso/boot/ to /mnt/iso/arch/boot/ (my iso - archlinux-2012.08.04-dual.iso). On first computer I get "PXE-T01: File not found". What is wrong?

Best regards,
pb

Updated:
wireshark shows that file "pxelinux.0" has not been found. When I delete symlink and copy real pxelinux.0, then it can see this file. I copied in this way syslinux.cfg, too. But now it can't find kernel image: archiso.cfg. It could be result of my these commands (copying instead of linking).

Last edited by pbaran (2012-09-02 08:44:33)

Offline

#2 2012-09-02 06:16:49

RyanScottLewis
Member
From: Troy, NY
Registered: 2012-09-02
Posts: 2
Website

Re: [SOLVED] tftp: file not found

I am having this same exact problem. If I figure anything out, I'll edit this post.

When I start the TFTPD server (I am using method 2, I used method 1 and I was not having this problem) and use login to it using `tftp`, when I type `get pxelinux.0`, I get the File not found error. Just for a sanity check, I moved the symlink and touched a blank file as 'pxelinux.0' and tried to 'get' it, which worked fine.

This leaves me to believe that for some reason, TFTPD is refusing to follow the symlink. I can `cd /var/tftpboot` and `cat pxelinux.0` and that will output just fine.

Edit:

Success! The guide needs to be updated.

Turns out, TFTPD keeps the tftpdboot directory chrooted so it cannot follow symlinks outside of it's directory.

The guide tells us to:

ln -s /var/tftpboot/boot/syslinux/pxelinux.0 /var/tftpboot/pxelinux.0

When we should really do this:

cd /var/tftpboot
ln -s ./boot/syslinux/pxelinux.0 pxelinux.0

----------------------

This produces the same results as method 1 did for me (now I'm running into the same problems I was the first time.) I don't know why the dnsmasq tftp server followed the absolute symlink but the tftpd server would only follow the relative symlink, though.

I also had to edit `/var/tftpboot/boot/syslinux/vesamenu.c32` line 3 from:

DEFAULT vesamenu.c32

to:

DEFAULT /boot/syslinux/vesamenu.c32

In order to see the boot menu.

Last edited by RyanScottLewis (2012-09-02 06:44:51)

Offline

#3 2012-09-02 06:57:57

pbaran
Member
Registered: 2012-09-01
Posts: 5

Re: [SOLVED] tftp: file not found

"Could not find kernel image: archiso.cfg" - this error is related to bad vesamenu.c32?

How can I edit this file? Vim has probably problems with encoding.

Offline

#4 2012-09-02 07:06:34

arch_gala
Member
Registered: 2011-03-23
Posts: 24

Re: [SOLVED] tftp: file not found

tftpd does not resolve file name case!

maybe your file name has a different case on the system or the locale encoding is different from what tftpd expects.

I had lots of troubles using tftpd for windows pxe, because in windows ManGled is the same as mangled, but in linux it is not!

also check the file permissions, must be readable by the user that runs tftpd.

Offline

#5 2012-09-02 07:15:03

pbaran
Member
Registered: 2012-09-01
Posts: 5

Re: [SOLVED] tftp: file not found

There aren't any files with capital letter in name. Permissions are set properly (r, additionaly x for directories).

[root@myhost tftpboot]# tree 
.
├── boot
│   ├── i686
│   │   ├── archiso.img
│   │   └── vmlinuz
│   ├── memtest
│   ├── memtest.COPYING
│   ├── syslinux
│   │   ├── archiso.cfg
│   │   ├── archiso_head.cfg
│   │   ├── archiso_pxe32.cfg
│   │   ├── archiso_pxe_32_inc.cfg
│   │   ├── archiso_pxe64.cfg
│   │   ├── archiso_pxe_both_inc.cfg
│   │   ├── archiso_pxe_choose.cfg
│   │   ├── archiso_sys32.cfg
│   │   ├── archiso_sys_32_inc.cfg
│   │   ├── archiso_sys64.cfg
│   │   ├── archiso_sys_both_inc.cfg
│   │   ├── archiso_sys_choose.cfg
│   │   ├── archiso_tail.cfg
│   │   ├── cat.c32
│   │   ├── chain.c32
│   │   ├── cmd.c32
│   │   ├── config.c32
│   │   ├── cpuid.c32
│   │   ├── cpuidtest.c32
│   │   ├── disk.c32
│   │   ├── dmitest.c32
│   │   ├── elf.c32
│   │   ├── ethersel.c32
│   │   ├── gfxboot.c32
│   │   ├── gpxecmd.c32
│   │   ├── gpxelinux.0
│   │   ├── gpxelinuxk.0
│   │   ├── hdt
│   │   │   ├── modalias.gz
│   │   │   └── pciids.gz
│   │   ├── hdt.c32
│   │   ├── host.c32
│   │   ├── ifcpu64.c32
│   │   ├── ifcpu.c32
│   │   ├── ifplop.c32
│   │   ├── int18.com
│   │   ├── kbdmap.c32
│   │   ├── linux.c32
│   │   ├── ls.c32
│   │   ├── lua.c32
│   │   ├── mboot.c32
│   │   ├── memdisk
│   │   ├── memdump.com
│   │   ├── meminfo.c32
│   │   ├── menu.c32
│   │   ├── pcitest.c32
│   │   ├── pmload.c32
│   │   ├── poweroff.com
│   │   ├── pwd.c32
│   │   ├── pxechain.com
│   │   ├── pxelinux.0
│   │   ├── reboot.c32
│   │   ├── rosh.c32
│   │   ├── sanboot.c32
│   │   ├── sdi.c32
│   │   ├── splash.png
│   │   ├── sysdump.c32
│   │   ├── syslinux.cfg
│   │   ├── syslinux.com
│   │   ├── ver.com
│   │   ├── vesainfo.c32
│   │   ├── vesamenu.c32
│   │   ├── vpdtest.c32
│   │   ├── whichsys.c32
│   │   └── zzjson.c32
│   └── x86_64
│       ├── archiso.img
│       └── vmlinuz
├── pxelinux.0 -> ./boot/syslinux/pxelinux.0
└── pxelinux.cfg
    └── default

Back to editing files c32:

[root@myhost tftpboot]# enca /var/tftpboot/boot/syslinux/vesamenu.c32 
Unrecognized encoding

Offline

#6 2012-09-02 08:19:15

pbaran
Member
Registered: 2012-09-01
Posts: 5

Re: [SOLVED] tftp: file not found

OK. Resolved by modifing boot/syslinux/syslinux.cfg. Thanks!

Offline

Board footer

Powered by FluxBB