我正在尝试在树莓派上创建 PXE 服务器,但如果我尝试启动,客户端会显示错误“无法加载 ldlinux.c32”。这是我的 tftp 文件夹的文件夹结构:
这是我的 pxelinux.cfg 配置:
DEFAULT vesamenu.c32
PROMPT 0
TIMEOUT 300
MENU TITLE PXE Network Boot Menu
LABEL local
MENU LABEL BOOT FROM LOCAL DISK
MENU DEFAULT
LOCALBOOT 0
LABEL memtest
MENU LABEL memtest86+ v4.20
KERNEL memtest
这是我的 DHCP 配置:
subnet 10.0.0.0 netmask 255.255.252.0 {
option ntp-servers de.pool.ntp.org;
option domain-name ".pudding.net";
option domain-name-servers 10.0.0.5;
option broadcast-address 10.0.3.255;
option subnet-mask 255.255.252.0;
option routers 10.0.0.1;
allow client-updates;
allow unknown-clients;
max-lease-time 1814400;
default-lease-time 604800;
range 10.0.0.100 10.0.0.200;
filename "/pxelinux.0";
next-server 10.0.0.5;
}
我像本教程一样配置它:教程
它对我不起作用,出现同样的错误,因此我从朋友那里复制了结构,它不起作用,出现同样的错误。但这对他有用。
有谁知道如何解决这个问题?我对 syslinux 不太了解,如果有人能帮助我,我会很高兴!
答案1
对我来说,我用我的 Openwrt 路由器 (18.06.1) 来指向真正的 tftpserver。
此配置在 Openwrt (19.07.2) 中有效,但在其他环境中无效,并导致 ldlinux.c32 错误。
tftp-root=/tftpboot dhcp-boot=pxelinux.0,pxeserver,xxxx
经过大量谷歌搜索后我终于找到了http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2014q3/008767.html通过将这段代码添加到 dnsmasq.conf ,一切就开始工作了。
dhcp-userclass=设置:ipxe-boot,iPXE dhcp-vendorclass=设置:pxe,PXECLient pxe-service=x86PC,"通过 PXE 启动", pxelinux.0, xxxx
我想你的设置一定有类似的东西......
希望它对您或其他人有帮助!