web-dev-qa-db-ja.com

PXEブートRHEL6で追加のバイナリを実行するようにinitrd.imgを変更する

HPのraidデバイス構成バイナリであるhpacucliを呼び出すキックスタート構成の%preセクションでスクリプトを実行することにより、既存のRHEL 6(またはOralceの実装)PXEインストールプロセスに自動化を追加しようとしています。

私のアプローチは、PXEで提供されるinitrd.imgを変更することでした。 initrd.imgを解凍し、必要なライブラリ、バイナリ、およびスクリプトにコピーしましたが、変更されたinitrd.imgを使用してシステムを起動すると、変更された/ lib(および/ lib_64)は/ lib_oldに移動され、/ libは/ mnt/runtime/libにリンクされています。/libが移動されないように(ありそうもない)、または必要なライブラリがランタイム/ mnt/runtime/libで利用できるように、この構成を変更するにはどうすればよいですか?

これをテストして確認するために、インストールプロセスを6番目の仮想コンソールに移動してエラーを確認し、シェル(便利なデバッグメカニズム)を開くことができました。

%pre 
 exec/dev/tty6 2> /dev/tty6
chvt 6 
 
/bin/sh 
1
Charles Long

何度か試した後、私は保証できないグーグルやドキュメントを探すのをやめ、ログを読み始めました。それが私を解決策に導きました。

PXEインストールプロセスでは、initrd.imgがプロセスをブートストラップし、anacondaがキックスタートスクリプトを参照してインストールイメージをプルダウンし、「stage2」を開始して、フェッチされたinstall.imgを/ mnt/runtimeにマウントします。これにより、lib、lib_64、およびusrを脇に置き、/ mnt/runtime内の対応するディレクトリにリンクしてから、ローカルの/ usr/bin/anacondaを起動します。これは、上記で概説した一時停止したインストールプロセスで到達できる/tmp/anaconda.logで明らかです。

Install.imgを必要なライブラリで更新することで、問題を解決しました。つまり、プロセス全体で、hpacucliを機能させるために必要なスクリプト、ディレクトリ、バイナリのintitrd.imgと、install.imgの後に存在するライブラリにライブラリを追加するinstall.imgの2つのイメージを変更する必要があります。マウントされました。私は他の解決策があると確信しています、これは最も邪魔にならないようでした。

答えを探している他のhpacucliプレインストールユーザーがいる場合は、セットアップ全体を投稿できます。

2
Charles Long