修改initrd.img以在PXE引导的RHEL中运行其他二进制文件6

我试图通过在我的kickstartconfiguration的%pre部分运行一个脚本来调用我们现有的RHEL 6(或者Oralce的实现)PXE安装过程来增加额外的自动化,这个脚本调用HP的raid设备configuration二进制文件hpacucli。

我的方法是修改PXE服务initrd.img。 我解开了initrd.img并复制到了所需的库,二进制文件和脚本中,但是当系统使用修改后的initrd.img引导时,修改后的/ lib(和/ lib_64)被移到/ lib_old,/ lib链接到/ mnt / runtime / lib。 我怎样才能改变这个configuration,使/ lib不会移动(不太可能),或者在运行库/ mnt / runtime / lib中提供所需的库?

为了testing和确认,我已经能够让安装过程转移到第六个虚拟控制台,这让我看到错误,然后打开一个shell(一个有用的debugging机制)。

 %的预
 exec / dev / tty6 2> / dev / tty6
 6

 / bin / sh的

经过几次尝试,我停止寻找谷歌或我不能担保的文件,并开始阅读日志,这使我的解决scheme。

在PXE安装过程中,initrd.img引导进程,anaconda参考kickstart脚本,拉下安装映像,启动'stage2'并将获取到的install.img挂载在/ mnt / runtime上,这会移动lib,lib_64和usr放在一旁,并链接到/ mnt / runtime中的相应目录,然后启动现在的本地/ usr / bin / anaconda。 在/tmp/anaconda.log中显示了这一点,我可以在上面概述的暂停安装过程中访问该文件。

我用我需要的库更新install.img来解决我的问题。 这意味着整个过程需要修改两个映像,intitrd.img用于使hpacucli工作所需的脚本,目录和二进制文件,而install.img将库添加到install.img之后存在的lib中被安装。 我相信还有其他的解决办法,这似乎是最不具侵略性的。

如果有其他hpacucli预安装用户在那里寻找答案,我可以发布整个设置。