由【酷游九州】вт989点сс 整理。
如何建构 Linux 的核心模组
编译核心模组的命令:
$ make -C /lib/modules/`uname -r`/build M=`pwd` modules
成功后会产生许多档案,这边我们会用到的只有hello.ko
值得注意的是你可能在编译过程结果会看到下面的叙述:
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
表示你的编译器与kernel开发套件所用的编译器版本不一致,建议安装对应的版本避免后续开发出问题。
挂载核心模组
产生 hello.ko 之后,可将其挂载:
$ sudo insmod hello.ko
dmesg 显示核心讯息
[ 3824.676183] Hello, world
[ 3921.232076] Goodbye, cruel world
以上为第一个 Linux 核心模组的撰写、挂载及卸载。