在具有两个网络设备的主机上通过 PXE 安装 Debian Stretch

在具有两个网络设备的主机上通过 PXE 安装 Debian Stretch

我知道互联网上已经有很多关于这个问题的讨论,但我始终找不到适合我的情况的答案。我正在使用 PXE 安装和预置文件安装 Debian 机器 (9.3)。当我配置预置文件以忽略丢失的固件时,安装可以完全无人值守地成功继续。

我决定更改我的 initrd.gz 文件(在 PXE 服务器上),使其包含丢失的固件文件,因此当安装检测到硬件并发现固件丢失时,就会安装固件。

这也很好用。唯一的问题是,正在安装的固件文件之一是用于无线适配器的,该适配器在下载固件后才会激活。

在安装过程中,稍远一点的地方会尝试获取 DHCP 地址,而这正是出错的地方。由于某种原因,安装程序尝试通过 Wifi 获取地址,但失败了。从日志中我了解到,安装程序还尝试从用于 PXE 启动的另一个网卡获取地址。这也失败了 (...),然后出现一个对话框,要求我选择要使用的网络适配器。这显然不是我想要的......

我上周一直在寻找,但我所能找到的就是应该可以在启动文件中添加一个额外的参数,称为 BOOTIF=(mac_address_of_default_nic)。

因此,我尝试构建启动文件(抱歉,打错了,我是在其他地方做的):

......
kernel debian-installer/amd64/linux
append auto=true priority=critical vga=788 initrd=debian-installer/amd64/initrd.gz preseed/url=tftp://192.168.0.30/preseed/debian-9-preseed.cfg BOOTIF=00:00:00:00:00:00
......

当然,00:00:00.... 是别的。我也尝试过用破折号代替冒号。没有解决... 还读到你应该在某处使用额外的参数 IPAPPEND 2。我也试过了,但也没用。

我陷入了困境并开始怀疑这是否有可能......

1) 是否有人使用此方法成功强制安装程序使用特定的网络适配器? 2) 如果我需要使用 IPAPPEND 参数,那么在 menu.cfg 文件中的哪个位置指定该参数有什么区别吗?(在 kernel... 行之后,还是在 append... 行之后)

答案1

有一个内核参数决定应该使用哪个网络设备。此外,还可以添加网络参数。

在你的情况下,你应该添加“ip=eth0:dhcp”(将 eth0 更改为你想要使用的网络接口)。请参阅nfsroot.txt

相关内容