我想替换云镜像文件中的内核和相关的内核特定文件(例如来自https://cloud-images.ubuntu.com/) 适用于 ubuntu 20.04。我可以按照以下方法构建自己的内核https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel但是,找不到工具来组装新的云映像并使用新的内核特定文件替换现有云映像文件上的文件。
我还想在交叉编译环境中执行此操作,例如在针对 arm64 的 amd64 上进行构建。https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel对此事保持沉默,底部链接的页面已有 10 年历史,并且有过时的味道(并且没有讨论 arm64)。
答案1
这是一个老问题,但我也想这样做,并且努力寻找好的文档来构建 KVM 风格内核(ubuntu-cloud),以便在云环境中使用,以添加对 cilium 与 kubernetes 网络的支持。
我按照这里提到的指南,从中获取了内核源代码
https://code.launchpad.net/~canonical-kernel/ubuntu/+source/linux-kvm/+git/jammy
并猜出了命令
LANG=C fakeroot debian/rules clean ; LANG=C fakeroot debian/rules binary-headers binary-kvm
改编自建议
# if you need linux-tools or lowlatency kernel, run instead: LANG=C fakeroot debian/rules binary
但是,由于软件包与已安装的版本冲突,结果软件包无法成功安装。您需要编辑 debian.kvm/changelog 中的版本,而不是 debian.master/changelog 中的版本,因为这似乎是通用的。