我正在尝试从头开始构建 Linux 内核。我当前的系统配备 Intel Xeon Gold 6242 CPU,在 Ubuntu 20.04.3 LTS 上运行 Linux 5.4.0-050400-generic 内核。
我构建内核所遵循的步骤如下:
cd /path/to/new/kernel/source
(下载后源码未修改)cp -v /boot/config-5.4.0-050400-generic ./.config
make menuconfig
,加载并保存复制的内容.config file
(.config
内容并没有真正改变,但行的顺序确实改变了)make -j32
make modules_install install
一切都运行良好,没有错误,直到我最终重新启动,当我选择新内核来启动时,它会失败并显示以下消息:
以下是我尝试让它发挥作用的其他一些选项:
- 从源代码构建 Linux 5.18.0(因为 Ubuntu 20.04.3 LTS 使用 Linux 5.4 作为其主要内核,所以我认为过去的版本可能无法工作):失败并显示相同的错误消息
- 无需复制
.config
已在使用的文件,只需制作一个新.config
文件使用make menuconfig
和不从现有.config
文件加载/保存:失败并显示相同的错误消息 - 不要从源代码构建内核,而是尝试直接从 Ubuntu 主线内核安装新内核:工作正常(Linux 5.15.0)
我检查过一些类似的问题,例如编译Linux内核并使用UEFI启动,不同步:VFS:无法在未知块(0,0)上安装根文件系统, 和无法使用自建内核启动但没有任何运气。
最后一件事:这是一个我几天前发布的来自 Reddit 的重复问题,但我在这里重新发布,因为不幸的是我在那里没有得到太多帮助。
任何建议将不胜感激。谢谢!
答案1
我在 R640 上也遇到了同样的问题。我所做的修复是make -j "$(nproc)" bindeb-pkg
在运行后执行make
,然后.deb
通过dpkg
而不是运行安装软件包make modules_install install
谁知道问题的真正根本原因是什么。