PXE Linux 配置未附加网络参数来启动 kickstart 安装

PXE Linux 配置未附加网络参数来启动 kickstart 安装

我正在尝试在具有以下 PXE Linux 配置的服务器上执行 PXE 启动pxelinux.cfg/default

default cli
label cli
        menu label kickstart-installation
        kernel ubuntu-installer/amd64/linux
        append text ks=http://172.22.196.61/kickstart.cfg initrd=ubuntu-installer/amd64/initrd.gz noipv6 ksdevice=eth0 ip=172.22.196.200 netmask=255.255.255.0 gateway=172.22.169.254 dns=8.8.8.8 biosdevname=0

镜像被拉到服务器上的机器上。安装已启动,但 ubuntu 安装本身仍尝试获取 DHCP 地址(由于我们仅使用静态 IP 地址,因此失败)。此外,由于某种原因,文本参数不被接受,因为安装仍在 GUI 中进行。

我已按照本手册启动服务器:https://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-startinginstall.html

实际的 PXE 启动是 Ubuntu 14.04,从以下位置拉取:http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/

答案1

感谢 Pat 提醒我每个发行版都使用其他设置参数,而不仅仅是内核参数。

显然,内核参数已传递完毕,cat /proc/cmdlinedebian-installer并未使用内核参数来启动设置。

它使用netcfg以下格式:

default cli
label cli
        menu label kickstartinstall
        kernel ubuntu-installer/amd64/linux
        append ks=http://172.22.196.61/kickstart.cfg initrd=ubuntu-installer/amd64/initrd.gz hostname=test-machine domain=test.local interface=eth0 netcfg/get_ipaddress=172.22.196.200 netcfg/get_netmask=255.255.255.0 netcfg/get_gateway=172.22.196.254 netcfg/get_nameservers=8.8.8.8 netcfg/disable_dhcp=true

正如在这里所发现的:http://blog.loftninjas.org/2008/07/17/booting-debian-installer-with-a-static-ip-address/

答案2

即使 CentOS 和 Ubuntu 都使用 kickstart 技术,也并不意味着它们的启动参数(附加)相同。请考虑一些附加参数由内核读取,而其他附加参数由相应的 initrdinit脚本(和后代)读取,因此您可以在一个发行版和另一个发行版之间看到差异。

您应该寻找 Ubuntu 特定的参数。例如,Ubuntu 忽略变量text并且变量ip作为参数bootpdhcp不作为 IP 地址。

对于许多 Linux 发行版的 PXE 参数,你可以将其作为起点塞瓦的网站。

相关内容