我目前正在开发一个Linux安全模块,它存储在security
内核源代码树的目录中。当我使用以下命令编译和安装内核时,模块已加载并且一切正常:
fakeroot make -j9 -f debian/rules.gen binary-arch_amd64_none_amd64
apt remove linux-image-4.19.0-9-amd64-unsigned
dpkg -i linux-image-4.19.0-9-amd64-unsigned_4.19.118-2_amd64.deb
但是,如果我对模块进行更改并使用上面的命令重建内核,它们将不会包含在新映像中,除非我删除所有构建输出并重新编译整个内核。
有没有办法只重建内核的特定部分,即仅重建security
目录?
答案1
感谢一位大学教授的帮助,我发现了这一点。您必须删除该文件debian/stamps/build_amd64_none_amd64
。
# The next line make sure only the required parts are rebuild
rm debian/stamps/build_amd64_none_amd64
# Rebuild the kernel
fakeroot debian/rules source
fakeroot make -j9 -f debian/rules.gen binary-arch_amd64_none_amd64