使用定制的 Linux 内核启动时 UEFI 预启动环境异常

使用定制的 Linux 内核启动时 UEFI 预启动环境异常

我正在尝试从头开始构建 Linux 内核。我当前的系统配备 Intel Xeon Gold 6242 CPU,在 Ubuntu 20.04.3 LTS 上运行 Linux 5.4.0-050400-generic 内核。
我构建内核所遵循的步骤如下:

  1. cd /path/to/new/kernel/source(下载后源码未修改)
  2. cp -v /boot/config-5.4.0-050400-generic ./.config
  3. make menuconfig,加载并保存复制的内容.config file.config内容并没有真正改变,但行的顺序确实改变了)
  4. make -j32
  5. make modules_install install
    一切都运行良好,没有错误,直到我最终重新启动,当我选择新内核来启动时,它会失败并显示以下消息: 在此输入图像描述

以下是我尝试让它发挥作用的其他一些选项:

  1. 从源代码构建 Linux 5.18.0(因为 Ubuntu 20.04.3 LTS 使用 Linux 5.4 作为其主要内核,所以我认为过去的版本可能无法工作):失败并显示相同的错误消息
  2. 无需复制.config已在使用的文件,只需制作一个新.config文件使用make menuconfig和不从现有.config文件加载/保存:失败并显示相同的错误消息
  3. 不要从源代码构建内核,而是尝试直接从 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

谁知道问题的真正根本原因是什么。

相关内容