![在 Ubuntu Jammy 上构建自定义内核](https://linux22.com/image/230868/%E5%9C%A8%20Ubuntu%20Jammy%20%E4%B8%8A%E6%9E%84%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E5%86%85%E6%A0%B8.png)
昨天 Reddit 上有人向我展示了这个
看起来我应该能够更改一行代码,然后我就可以实现我想要的,但这需要重建内核
我已经很长一段时间没有构建自定义内核了,也从未在基于 deb 的发行版上构建过
我在这里遵循这些说明
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
我使用apt下载了内核,更改了thunderbolt文件并添加了代码行
我可以“更快地构建” fakeroot debian/rules binary-headers binary-generic binary-perarch
并且构建失败,错误是
Debug: /home/nick/linux-oem-6.5-6.5.0/debian/stamps/stamp-install-generic kernel_file arch/x86/boot/bzImage kernfile arch/x86/boot/bzImage install_file vmlinuz instfile vmlinuz
dh_testdir
dh_prep -plinux-image-unsigned-6.5.0-1019-generic
dh_prep: error: Requested unknown package linux-image-unsigned-6.5.0-1019-generic via -p/--package, expected one of: linux-oem-6.5-headers-6.5.0-1019 linux-oem-6.5-tools-6.5.0-1019 linux-oem-6.5-tools-host linux-image-unsigned-6.5.0-1019-oem linux-modules-6.5.0-1019-oem linux-modules-extra-6.5.0-1019-oem linux-headers-6.5.0-1019-oem linux-oem-6.5-lib-rust-6.5.0-1019-oem linux-image-unsigned-6.5.0-1019-oem-dbgsym linux-tools-6.5.0-1019-oem linux-cloud-tools-6.5.0-1019-oem linux-buildinfo-6.5.0-1019-oem linux-modules-ipu6-6.5.0-1019-oem linux-modules-ivsc-6.5.0-1019-oem linux-modules-iwlwifi-6.5.0-1019-oem linux-modules-usbio-6.5.0-1019-oem
dh_prep: error: unknown option or error during option parsing; aborting
make: *** [debian/rules.d/2-binary-arch.mk:132: /home/nick/linux-oem-6.5-6.5.0/debian/stamps/stamp-install-generic] Error 255
如果有更简单的方法来实现这一目标,或者有人可以帮助我,我将不胜感激。
即使我可以安装另一个发行版,它将使用最新的补丁或者更容易进行内核更改,我也愿意这样做。我只是暂时需要这个来进行 Thunderbolt NVM 更改。
答案1
首先安装主线ppa
sudo apt-add-repository -y ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline
然后打开它,选择包含补丁的Linux内核版本,然后单击安装。然后重新启动
如果您想要一个具有最新内核的发行版,您应该考虑滚动发行版发行版,滚动发行版发行版是这样的发行版:一旦内核有更新可用,您就可以使用它,并且它在本机存储库中是最重要的常见的发行版提供的是拱(基于)开放SUSE Debian 不稳定(也称为“Sid”),如果您使用 ubuntu 后想要一些熟悉的东西,我会推荐 debian stable,因为它与 ubuntu 具有相同的架构,两者都基于 debian 并使用 apt,因此您可以轻松迁移到debian 不稳定,如果你喜欢冒险,你可以去拱并尝试了解 arch 及其软件包
答案2
这些说明使用“binary-generic”字符串,但如果您正在构建 oem 内核,则需要将其更改为 binary-oem,或者您尝试构建的任何其他 Ubuntu 内核。