自定义内核和 uname 信息

自定义内核和 uname 信息

为了练习,我想在我的 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以 开头的修饰符-可能会使其无效。

相关内容