出于多种原因,我需要为其他标准的 x86 Ubuntu 16.04 系统构建自定义内核。按照这些说明,我通过以下调用成功构建了我需要的软件包套件:
fakeroot debian/rules binary-headers binary-generic binary-perarch skipdbg=false do_tool=true
然而,作为这项工作的下一步,我想知道做一些事情,比如减少不需要的驱动程序的数量,包括我目前使用 dh_dkms 包安装的一些补丁等。我觉得即使是我自己使用,它也会如果这些更改可以在内部发布而不是在标准的“通用”名称下发布,那么最好是针对我公司的半嵌入式用例的新风格/配置。
不过,我发现 Ubuntu 内核存储库(例如 git://kernel.ubuntu.com/ubuntu/ubuntu-disco.git)有点难以导航,而且它似乎与 Debian 的做法有很大不同,他们的关于内核构建的文档也不是很有帮助。
所以我的问题是:这个 repo 中定义的风格及其配置(或配置默认值)在哪里?看起来它可能已经在 中debian.master/control.d/vars.<flavourname>
,但是在那里添加一个新文件并没有使binary-<flavourname>
构建目标可用,也没有改变任何fakeroot debian/rules editconfigs
行为方式。
谢谢。
最后发现难度不大。对于未来的旅行者,需要创建这些文件——首先将它们基于
generic
相同目录中的文件:debian.master/config/amd64/config.flavour.<flavour>
debian.master/control.d/<flavour>.inclusion-list
debian.master/control.d/vars.<flavour>
然后需要对以下两个文件进行少量编辑以指定仅构建
amd64
arch 和新的风味名称(而不是generic lowlatency
):debian.master/etc/kernelconfig
debian.master/rules.d/amd64.mk
通过这些更改,您可以:
您将获得一套带有
x.y.z-<flavour>
发布名称的工作内核包。