2015-10-09 389 views
1

KernelBuild教程http://kernelnewbies.org,我沒有看到「make modules」命令。本文僅在「sudo make modules_install install」之前執行「make」命令。執行「make modules_install」而不執行「make modules」是否有意義?

但從make help輸出:

all    - Build all targets marked with [*] 
* vmlinux   - Build the bare kernel 
* modules   - Build all modules 
    modules_install - Install all modules to INSTALL_MOD_PATH (default: /) 

似乎沒有 「make modules」 命令,沒有必要實行 「make modules_install」 命令。執行「make modules_install」而不執行「make modules」有意義嗎?

+0

當本教程告訴您在沒有目標的情況下執行'make'時,默認目標'all'被選中。 'make all'構建模塊(如引用的幫助文本中的*所示),所以在此之後,您已準備好'make modules_install' –

回答

2

執行「make modules_install」而不執行「make modules」有意義嗎?

是的,但前提是您已經在make modules_install之前執行過make。如果模塊未使用make modulesmake構建,則無法執行modules_install。有makemake modules之間只有一個區別:make modules編譯僅被設置爲

obj-CONFIG_OPTION_NAME=m 
在Makefile

模塊或源代碼。如果您只想構建Linux內核,只需使用make,make modules即可。

0

不,如果您正確理解該過程。

make modules
這將只是像所有其他程序一樣編譯所有模塊。創建對象文件。

make modules_install
一旦您的文件編譯時沒有任何錯誤,那麼這個命令會將生成的.so文件放到相應的目錄中。

所以如果你運行modules_install而沒有make模塊,那麼就沒有任何東西可以複製。

我希望這會有所幫助。