Linux
如何編譯 Linux Kernel 暫存樹中的所有驅動程序?
我已經下載了最新的 linux 核心和 Next 樹,我想在 ‘drivers/staging’ 樹上執行 sparse,我嘗試通過啟用所有驅動程序
make menuconfig
然後做了
make C=1 M=drivers/staging
但是上面的命令只建構了一些驅動程序,而不是全部。
如何啟用更多的暫存驅動程序?
Kconfig 文件中有一個特殊符號,稱為
BROKEN
. 根本不能正常工作的程式碼(通常是災難性的失敗)在 Kconfig 文件中被標記為依賴於這個符號,它不是由 Kconfig 本身在任何地方定義的,因此不是由allyesconfig
或任何其他自動配置目標設置的。暫存樹中合理百分比的驅動程序屬於此類別,因此make allyesconfig
不會包括其中的許多。我不是 100% 確定,但我相信您可以在建構目錄BROKEN=y
中的文件末尾手動添加.config
,然後手動啟用 Kconfig 符號,方法是以類似的方式手動添加它們BROKEN
,或者通過make menuconfig
. 您可能還需要啟用COMPILE_TEST
符號,但是那個在 menuconfig UI 中有一個條目(它在第一個子菜單中,靠近頂部),即使這樣,某些驅動程序也有可能依賴於體系結構。