我正在构建自己的内核,同时等待上游的错误修复程序反向移植到 Ubuntu,否则我的触控板将无法工作。我遵循以下说明:
这个过程运行良好。我反向移植了补丁,可以顺利构建、安装和启动。但是,我无法升级内核版本或为其添加标签,因此 Ubuntu 一直尝试安装更新的内核。说明如下:
为了使您的内核比您基于的 Ubuntu 内核“更新”,您应该添加本地版本修饰符。在构建之前,在 debian.master/changelog 文件中第一个版本号的末尾添加类似“+test1”的内容。这将有助于在运行时识别您的内核,因为它也会出现在 uname -a 中
我将 debian.master/changelog 的第一行改为:
linux (4.10.0-35.39+touchpadfix) zesty; urgency=low
但是 deb 文件中不包含名称:
linux-image-4.10.0-35-generic_4.10.0-35.39_amd64.deb
uname 秀
4.10.0-35-generic
我做错了什么?我不想在修复发布之前更新我的内核,但我想让其他软件包保持更新。我需要做什么。
答案1
好的,我明白了。问题是我是这样构建的:
fakeroot debian/rules binary-headers binary-generic binary-perarch
我不知道 Debian 内核构建的内部和外部,但我猜这些是构建目标。我切换到:
fakeroot debian/rules binary
它构建了一切,包括带有我名字的版本。
答案2
我也遇到了类似的问题,但是我发现了一个与“debian.master”文件夹下的文档中描述的不同的变更日志。执行命令“fakeroot debian/rules clean”时,其输出指定来自“debian.hwe-5.19”文件夹的变更日志。因此,如果您发现修改 debian.master/changelog 不起作用,则应检查变更日志源路径。