initrdにカーネルモジュールを追加すると、mkinitrdはどのように変更されますか?

initrdにカーネルモジュールを追加すると、mkinitrdはどのように変更されますか?

mkiinitrd(CentOS 5.5)を使用してinitrdを作成すると、initrdに追加されたカーネルモジュールがプロセスで変更されます。たとえば、initrd には /lib/modules/2.6.18-194.32.1.el5/kernel/drivers/ata/sata_via.ko と /lib/sata_via.ko 用の異なるバイナリがあります。

mkinitrdにカーネルモジュールが含まれているとどうなりますか?依存関係に接続されていますか?それともモジュールを変更するのはなぜですか?

ベストアンサー1

/lib/sata_vio.koinitrdには1つありますか?ファイルシステムの1つ(たとえば/「root」)は、現在このドライバを必要とするSATAドライブにありますか(または元々ありましたか?)。その項目が/etc/modulesまたはに表示されますか/etc/mkinitrd/modules

私のUbuntuシステムでは、このモジュールはinitrdイメージ内の同じ場所にあります<extracted initrd>/lib/modules/<uname -r>/drivers/ata/sata_vio.ko

何とfile?何とstrings | grep '\<ver'?たぶん、他のドライバや別のカーネルバージョンから来たかもしれません。

明らかに、またはls -lを使用して大きいことをdu確認し、両方のファイルで実行してシンボルに違いがあるかどうかを確認できます(例:使用)。/lib/sata_vio.konm -Ddiff

全体のプロセスはに文書化する必要がありますman mkinitrd。特に、システムがどのスクリプトを実行しているか、/usr/share/initrd-tools/scriptsまたは/etc/mkinitrd/scripts

おすすめ記事