我正在尝试创建一个允许安装各种版本的 Linux 的网络启动安装程序。我的 TFTP 服务器是来自 debian wheezy 的 dnsmasq。我的 debian、ubuntu 和 fedora 运行良好,但 opensuse 有问题。这是我的 pxelinux 配置的片段(使用来自 ubuntu 12.04 的 pxelinux 4.05):
label openSUSE-11.4-i386
menu label openSUSE 11.4 i386
menu indent 2
config openSUSE-11.4-i386/isolinux.cfg openSUSE-11.4-i386/
label openSUSE-11.4-x86_64
menu label openSUSE 11.4 x86_64
menu indent 2
config openSUSE-11.4-x86_64/isolinux.cfg openSUSE-11.4-x86_64/
label openSUSE-12.1-i386
menu label openSUSE 12.1 i386
menu indent 2
config openSUSE-12.1-i386/isolinux.cfg openSUSE-12.1-i386/
以下是 openSUSE isolinux.cfg 的片段:
label linux
kernel linux
append initrd=initrd splash=silent showopts
Fedora(运行良好)如下所示:
label linux
menu label ^Install or upgrade Fedora
menu default
kernel vmlinuz
append initrd=initrd.img quiet
有两件奇怪的事情正在发生。
- 当我选择时
openSUSE 12.1 i386
,我的 tftp 服务器显示类似的错误cannot access /var/ftpd/openSUSE-12.1-i386/../::openSUSE-12.1-x86_64/isolinux.cfg: Permission denied
。openSUSE-12.1-x86_64
我已经从菜单中删除了它的所有痕迹,因此我不知道它去了哪里。
- openSUSE 菜单似乎加载得很好,但在选择一个选项时,它找不到内核文件,引发了类似这样的 tftp 错误
file /var/ftpd/openSUSE-12.1-i386//::openSUSE-12.1-i386linux not found
。我不知道它从哪里得到这个路径。- 使用 URL 样式的路径
tftp://192.168.0.1/openSUSE-12.1-i386/
会导致错误,例如file /var/ftpd/openSUSE-12.1-i386//tftp:/192.168.0.1/openSUSE-12.1-i386linux not found
- 使用类似这样的路径
192.168.0.1::openSUSE-12.1-i386/
会导致类似这样的错误file /var/ftpd/openSUSE-12.1-i386//192.168.0.1::openSUSE-12.1-i386linux not found
。还有其他路径格式我可以尝试吗? - 使用 APPEND 命令而不是将路径附加到 CONFIG 命令会导致相同的行为
- 使用 URL 样式的路径
我知道我正在尝试混合 pxelinux 和 isolinux,但看起来应该可以工作。我做错了什么?