为了练习,我想在我的 Ubuntu 16.04 上构建自定义内核。我遵循以下指南:
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
一切顺利,内核构建、安装和启动都很好。现在我想添加一个可以使用“uname -a”或其他方式查看的自定义版本字符串。
指南说
为了使您的内核比您基于的 Ubuntu 内核“更新”,您应该添加本地版本修饰符。在构建之前,在 debian.master/changelog 文件中第一个版本号的末尾添加类似“+test1”的内容。这将有助于在运行时识别您的内核,因为它也会出现在 uname -a 中。
我不确定它们是什么意思。我已将变更日志文件的第一行从
linux (4.4.0-59.80) xenial; urgency=low
到
linux (4.4.0-59.80-mykernel1) xenial; urgency=low
这会在构建过程中给我一个错误
dh_installchangelogs -plinux-headers-4.4.0-59.80-mykernel1
dh_installchangelogs: package linux-headers-4.4.0-59.80-mykernel1 is not in control info
dh_installdocs -plinux-headers-4.4.0-59.80-mykernel1
dh_installdocs: package linux-headers-4.4.0-59.80-mykernel1 is not in control info
dh_compress -plinux-headers-4.4.0-59.80-mykernel1
dh_fixperms -plinux-headers-4.4.0-59.80-mykernel1
dh_installdeb -plinux-headers-4.4.0-59.80-mykernel1
dh_installdeb: package linux-headers-4.4.0-59.80-mykernel1 is not in control info
我接下来尝试的是修改根 Makefile,如下所示:
EXTRAVERSION = mykernel1
但这并没有任何效果。
我哪里错了或者我还能尝试什么?谢谢。
答案1
本地版本修饰符应以+
char 开头,如+test1
文档中所述。添加-mykernel1
以 开头的修饰符-
可能会使其无效。