Linux

如何編譯 Linux Kernel 暫存樹中的所有驅動程序?

  • July 27, 2017

我已經下載了最新的 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 中有一個條目(它在第一個子菜單中,靠近頂部),即使這樣,某些驅動程序也有可能依賴於體系結構。

引用自:https://unix.stackexchange.com/questions/382113