我认为“/lib/modules/$(uname -r)/build”指向不正确的文件夹

Jua*_*món 7 compiling kernel symbolic-link

我编译/创建我自己的内核 deb 包:

make-kpkg --rootcmd fakeroot --initrd --append-to-version=$version --revision=1 kernel_image kernel_headers
Run Code Online (Sandbox Code Playgroud)

但是当我安装这两个包时,在 /lib/modules/(*name_kernel_compiled*) 中它会创建两个链接,source 和 build,指向带有源的文件夹,来自我编译的。

链接是正确的,但构建应该指向 /usr/src/linux-( version kernel ),你不觉得吗?

Jua*_*món 4

解决方案在make-kpkg文档中:

您可以查看示例目录中的其他示例:/usr/share/kernel-package/examples/看看是否还有您想要cp使用的其他示例脚本/etc/kernel- 并且您可以创建自己的脚本。


例如,如果您使用linux-headers-*包来编译第三方模块,以便不必保留源目录,您可能会对以下内容感兴趣:

/etc/kernel/header_postinst.d/link
/etc/kernel/header_postrm.d/link
/etc/kernel/header_prerm.d/link
/etc/kernel/postinst.d/force-build-link
/etc/kernel/postrm.d/force-build-link
Run Code Online (Sandbox Code Playgroud)

这些脚本将尝试确保符号链接/lib/modules/$VERSION/build是健全的——即指向头包,无论您是先安装映像包,还是先安装头包——并在安装任何一个包时负责清理。