為自動載入模組創建 Linux 模組依賴項
如何手動創建 Linux 核心模組依賴項?
例如,在某個時間點,模組 vboxdrv 會自動載入。但是,當發生這種情況時,我還想自動載入模組 vfat(僅作為範例)。
因此,如何創建依賴關係,當模組 1 被載入時,它會觸發模組 2 的自動載入?
我不需要在啟動時使用 initramfs 載入模組,我只想 - 可以這麼說 - 這個依賴項,當 1 被載入時,2 也會被載入。你知道我的意思 ;-)
謝謝
/etc/modprobe.d/vboxdrv-includes-vfat.conf
您可以使用“軟依賴”命令添加配置文件:softdep vboxdrv post: vfat
手冊頁modprobe.d(5)記錄了語法:
softdep 模組名 pre: modules… post: modules…
softdep 命令允許您指定軟的或可選的模組依賴關係。modulename 可以在不安裝這些可選模組的情況下使用,但通常會缺少一些功能。例如,儲存 HBA 的驅動程序可能需要載入另一個模組才能使用管理功能。
pre-deps 和 post-deps 模組是 modprobe 將嘗試在 modulename 參數中給出的主模組之前和之後按順序安裝(或刪除)的其他模組的名稱和/或別名列表
或者,如果
softdep
沒有按預期工作(例如,如果 modprobe 太舊而無法理解軟依賴項),您可以在同一目錄中的文件中使用 install 命令來編寫模組插入腳本:安裝模組名命令…
此命令指示 modprobe 執行您的命令,而不是像往常一樣將模組插入核心。該命令可以是任何 shell 命令:這允許您執行您可能希望的任何類型的複雜處理。例如,如果模組“fred”與已經安裝的模組“barney”一起工作得更好(但它不依賴它,所以 modprobe 不會自動載入它),你可以說“install fred /sbin/modprobe barney ; /sbin/modprobe –ignore-install fred",它會做你想做的事。注意 –ignore-install,它會阻止第二個 modprobe 再次執行相同的安裝命令。另請參閱下面的刪除。
該命令作為提供額外模組依賴項問題的解決方案的長期未來是不確定的,它旨在替換該命令,並在未來版本中的某個時間點發出關於其最終刪除或棄用的警告