我有工作内核模块,我使用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