我正在尝试在具有以下 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/cmdline
但debian-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
作为参数bootp
但dhcp
不作为 IP 地址。
对于许多 Linux 发行版的 PXE 参数,你可以将其作为起点塞瓦的网站。