既存のカーネル モジュールに依存するカーネル モジュールを作成しています。モジュールをツリーから (外部モジュールとして) 構築しています。
depmod によって認識されるように、依存関係を宣言するにはどうすればよいですか?
既存のカーネル モジュールに依存するカーネル モジュールを作成しています。モジュールをツリーから (外部モジュールとして) 構築しています。
depmod によって認識されるように、依存関係を宣言するにはどうすればよいですか?
完全に満足できるわけではありませんが、作業を行うために私が思いついた最善の方法は、次のmodprobe
いずれかのエントリを追加することですmodules.dep
# tail -1 modules.dep
../../../../home/ctuffli/mymod/mymod.ko: kernel/drivers/scsi/libsas/libsas.ko kernel/drivers/scsi/scsi_transport_sas.ko
または、ツリー外モジュールをシンボリックにリンクし、/lib/modules/
depmod に依存関係を理解させます
# ln -s /home/ctuffli/mymod/mymod.ko /lib/modules/2.6.31-19-server/kernel/drivers/scsi/
# depmod
# grep mymod /lib/modules/2.6.31-19-server/modules.dep
kernel/drivers/scsi/mymod.ko: kernel/drivers/scsi/libsas/libsas.ko kernel/drivers/scsi/scsi_transport_sas.ko
その必要はありません。depmod は、現在の /lib/modules/ ディレクトリ内のすべてのモジュールを実行し、未解決のシンボルに基づいてその依存関係ツリーを構築します。
デフォルトでは、別のモジュールによって提供されていないシンボルはカーネル内にあると想定されますが、-e/-F オプションを使用して、それが当てはまるかどうかを確認することもできます。