我有工作內核模塊,我使用insmod/modprobe命令手動安裝,如閱讀書籍所瞭解的。不過我想知道是否有辦法編譯後自動執行 - 所以基本上如何自動化命令insmod/modprobe?我們可以用make文件安裝內核模塊
我modprobe的有相關的文件thread_module.o以及
我make文件至今
運行後obj-m := wakeup_counter.o
obj-m += thread_module.o
$INSTALL_MOD_PATH = /lib/modules/2.6.32-5-amd64/
all:
make -C /lib/modules/2.6.32-5-amd64/build M=$(PWD) modules
install:
make $(INSTALL_MOD_PATH) =/build modules_install
clean:
make -C /lib/modules/2.6.32-5-amd64/build M=$(PWD) modules
輸出:make安裝
[email protected]:/home/xyz/Desktop/Drivers/symbols# make install
make -C /lib/modules/2.6.32-5-amd64/build M=/home/xyz/Desktop/Drivers/symbols modules_install
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'
INSTALL /home/xyz/Desktop/Drivers/symbols/thread_module.ko
INSTALL /home/xyz/Desktop/Drivers/symbols/wakeup_counter.ko
DEPMOD 2.6.32-5-amd64
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-amd64'
編輯:通過意見後去和https://www.kernel.org/doc/Documentation/kbuild/modules.txt我試圖添加安裝命令,但我沒有看到構建路徑中的任何模塊 - 也是在高層次,我得到我們在cmd提示符中輸入的內容,我們輸入Makefile,但如果有人可以舉一個例子,它會幫助我理解好基本情況來引用。命令shell指令
安裝軟件通常是由'讓install'命令執行。只需在makefile中創建「安裝」目標,並將所有需要的操作放入其配方中即可。 – Tsyvarev
是的,並從它調用'make ... modules_install'。 – 0andriy
任何可以在命令shell中運行的命令,都可以將該操作添加爲makefile中目標的規則。 – cm161