设置 RHEL6 PXE 服务器时出现问题

设置 RHEL6 PXE 服务器时出现问题

我希望能够通过网络上的 ISO 启动远程客户端。为此,我使用红帽企业 Linux 6配置为充当 PXE 服务器的服务器。

我遇到了一些问题,这些问题可能非常基本,但对我来说,由于我对 Linux 的了解不是很深入,所以这些问题变得非常困难。

我在 RHEL6 服务器上运行了以下配置:

  • dhcpd,将客户端指向 /var/lib/tftpboot/pxelinux.0 文件
  • tftpd 文件服务器
  • initrd-2.6.32-71.el6.x86_64.img 从服务器的 /boot 目录复制到 /var/lib/tftpboot/initrd.img
  • vmlinuz-2.6.32-71.el6.x86_64 从服务器的 /boot 目录复制到 /var/lib/tftpboot/vmlinuz
  • nginx Web 服务器托管 ISO
  • pxelinux.cfg/default 文件包含:

    LABEL linux
    KERNEL vmlinuz
    IPAPPEND 1
    APPEND vga=791 splash=silent initrd=initrd.img ramdisk_size=400000 copy2ram
    noauto nocd nohd root=/dev/ram0 ro from=http://192.168.1.1/slax.iso nosound
    

当我使用无盘客户端(虚拟机)测试它时,它会加载 vmlinuz 和 initrd.img,我看到一个 RHEL6 加载屏幕,然后几秒钟后它切回到终端说“未找到根设备”

从该消息中我猜想它找不到“/dev/ram0”(请参阅​​上面的 pxelinux.cfg/default 文件)?它怎么可能找不到 RAM?我该如何解决这个问题?

我会用皮匠如果可以的话,但它依赖于隔离代理无法解决。我找不到任何其他软件包可以将所有 PXE 服务器功能整合到一个简洁的新手防护软件包中。

任何帮助将非常感激。

谢谢,本

答案1

您在 APPEND 行中使用的某些启动参数(例如 copy2ram、from)不是通用的 Linux 启动参数。相反,它们是由特定发行版在其初始 ramdisk 中实现的。我很确定它们不是由 RHEL6 实现的。如果您在 Slax 文档中找到了这些选项,只需将您放入 /var/lib/tftpboot 中的 RHEL6 内核和初始 ramdisk 替换为 Slax 内核和 ramdisk 即可。

一般情况下,除非有充分理由,否则您不应尝试将某个 Linux 发行版的内核和初始 ramdisk 与另一个 Linux 发行版的根文件系统一起使用。您可能会对适用的文档感到困惑,或者遇到技术不兼容问题。

相关内容