![编译和安装单个现有内核模块的工作流程?](https://linux22.com/image/189064/%E7%BC%96%E8%AF%91%E5%92%8C%E5%AE%89%E8%A3%85%E5%8D%95%E4%B8%AA%E7%8E%B0%E6%9C%89%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%EF%BC%9F.png)
我正在致力于在 Linux 内核中创建补丁。我的所有工作都发生在文件net/ipv4/icmp.c
(以及相关的标头)中。
到目前为止,每次我想测试我的代码时,我都会运行make -j $(getconf _NPROCESSORS_ONLN) deb-pkg LOCALVERSION=-custom-version-XYZ
,然后重新启动我的机器并custom-verson-XYZ
从启动菜单中进行选择。
我从那里学到了这一点https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
我相信 ICMP 有一个内核模块,并且可能只需编译并安装该模块而无需重新启动。我运行时没有看到任何 ICMP 内核模块find /lib/modules/$(uname -r) -type f -name '*.ko*'
,所以我不确定这是否属实。
如果有的话,编译和安装 ICMP 的工作流程会是什么样子?