在我们的实验室中,我们有一组脚本,可以在 HP ProLiant DL380p Gen8 上自动配置 RHEL5 的启动安装。根据多个配置文件中的数据,它执行以下步骤:
- 安装 Redhat DVD
isolinux.cfg
相应修改- 创造
ks.cfg
- 使用安装数据(isolinux.cfg、ks.cfg 等)创建引导盘
- 使用 bootdisk 目录创建一个 http 服务器。
- 通过 ILO 挂载启动盘 (
/dev/scd1
) - 安装RHEL5
这是引用 kickstart 文件位置的行:
append initrd=initrd.img ks=hd:scd1:/isolinux/ks.cfg ksdevice=eth4
RHEL5 一切正常,但有人要求使用 RHEL6。
对于 RHEL6,一切似乎都工作正常,直到 #7,它返回消息"unable to download kickstart file"
。我对脚本中的一些行进行了注释,删除了安装部分,只留下了 ILO 安装部分。
引导盘已安装并可以在 上访问/dev/scd1
。该ks.cfg
文件就在那里。我还进行了测试,来自 Kickstart 服务器的文件可以通过wget
.
我还尝试ks.cfg
通过 http 访问该文件:
append initrd=initrd.img ks=http://<ip>:<port>/boot/isolinux/ks.cfg ksdevice=eth4
上面的部分没有起作用。
但真正让我烦恼的是,RHEL5 在相同的条件下工作,但 RHEL6 却不行。
ks.cfg
有不同的结构吗?- 声明的文件位置
ks.cfg
与 RHEL6 上的“hd:scd1:/isolinux/ks.cfg”不同吗? - 看起来很奇怪,
isolinux.cfg
和ks.cfg
都存在于启动盘上,但只能isolinux.cfg
访问。
我已经与 Redhat 支持人员交谈了一个星期,他们似乎不知道出了什么问题。
任何帮助将不胜感激。
答案1
我已经找出问题所在了。
RHEL5 和 RHEL6 在安装级别上似乎存在差异。
RHEL5 将检测您的物理 CDROM 并将其挂载/dev/scd0
,因此挂载的位置将为/dev/scd1
. RHEL6 似乎没有这样做,因此安装位置将为/dev/scd0
.
在这种情况下声明 ks 文件位置的正确方法是:
append initrd=initrd.img ks=hd:scd0:/isolinux/ks.cfg ksdevice=eth4
我希望将来有人会发现这很有帮助。