web-dev-qa-db-ja.com

カーネルイメージに組み込まれた、またはカーネルイメージに付属するinitrdをカスタマイズする方法

Initrd(ini​​tramfsベース)にカーネルモジュールだけでなく、いくつかのツールを追加したいと思います。今、私はcpioを使用してinitrdをアンパックする方法とパックする方法を認識しており、過去にサードパーティのカーネルモジュールを統合するために/etc/initramfs-tools/hooksのフックを作成しました。ただし、利用可能なスクリプトライブラリはモジュールの統合に向けられているように見えますが、他のエンティティ(特にプログラムとその依存関係)の統合用ではないようです。

Initrdへのリカバリに役立ついくつかのツールの統合を自動化するには、どのオプションが必要ですか?ブートローダーから与えられたルートドライブをマウントできない場合に、システムがドロップする「レスキュー」システムについて話しています。

注意してください Live-CDで使用されているSquashFSのアプローチは、システムの回復に役立つ比較的小さなツールを含めるだけで十分であるため、Live-CDで使用したくない(initrdで立ち往生し、さらに起動できない場合)。また、過去に発生した問題に遭遇したマシンはレスキューシステムを起動する傾向がありますが、システムをトレイルに戻すためのいくつかのツールが欠落しています...

3
0xC0000022L

man initramfs-tools

そして、次のようなフックを含むスクリプトを作成します

copy_exec /sbin/mdadm /sbin
2
piotr5