在我的 ltsp-build-client --arch i386 之后一切顺利,但由于某些原因,tftpd-hpa 没有安装,因此没有 /var/lib/tftpboot 文件夹。
所以我不得不手动安装 tftpd-hpa。DHCP 运行良好,但找不到 pxelinux.0 文件(它根本不存在)。
这是我的 DHCP 服务器配置。
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";
}
}
客户端机器说:
PXE-T01: File not found
PXE-E3B: TFTP Error - File Not Found
PXE-MOF: Exiting Intel PXE ROM.
问题:如何生成 pxelinux.0 文件和/或 nbi.img 文件? /opt/ltsp/i386/images/i386.img 中有图像,但我不确定该图像是做什么用的。
TFTP 服务器正在运行:/usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure /var/lib/tftpboot
/var/lib/tftpboot 文件夹是空的。
或者另一个问题.如何重新生成pxelinux.0和nbi.img文件?
答案1
PXE 启动从 xinetd 或其他超级服务器中指定的 tftp 目录的父目录开始。这是我的:
[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
}
因此,您要么需要更改服务器参数路径,使其指向图像的位置,要么移动图像,使它们位于此处:
/var/lib/tftpboot/ltsp/i386/images/pxelinux.0
/var/lib/tftpboot/ltsp/i386/images/i386.img
答案2
我已将内容从 /opt/ltsp/i386/boot 文件夹复制到 /var/lib/tftpboot/ltsp/i386。现在一切正常