首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义构建的内核在Centos 7上生成不可引导的initramfs。

自定义构建的内核在Centos 7上生成不可引导的initramfs。
EN

Stack Overflow用户
提问于 2019-06-02 02:03:20
回答 1查看 343关注 0票数 0

我一直在构建自己的内核(4.19.37),在构建(make)或安装(make install_modules + make install)时没有问题。在我执行grub2-mkconfig -o /boot/grub2/grub.cfg之前,一切似乎都很顺利。执行此命令时,grub将在/boot/中找到我现有的和新的initramfs-*.img内核以及相应的initramfs-*.img。然而,在这一点上,系统无限期挂起(>几个小时)。Ctrl+C似乎没有阻止它,我必须重新启动。我已经研究过这个问题,我所发现的所有问题都是对可引导操作系统的删除磁盘的探测,我通过删除它们和在每个GRUB_DISABLE_OS_PROBER=true中添加/etc/default/grub消除了这个问题。两者都没有帮助。

在重新启动时,我会在grub>命令行结束,大概是因为grub2-mkconfig从未完成并损坏grub配置文件。在这里,我可以在没有任何问题的情况下加载旧的和新的内核,以及initramfs,但是当我执行引导时,会引起内核恐慌:

代码语言:javascript
复制
end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

当然,我的假设是我的initramfs-4.19.37.img有问题,它是由我的构建过程创建的。作为一个实验,我测试了是否可以加载新内核,但是使用旧的initramfs (4.19.10),实际上它确实引导到emergency mode中。然而,我不能用新的initramfs做相反的旧内核。所以我的新形象有点可疑。

变得越来越聪明,我的最后一个实验是用mount安装新老的initramfs映像。它们都在没有错误的情况下成功地挂载,并且似乎具有相同的文件结构。我还比较了内核构建的新的和旧的.config文件,差别很小。

其他一些说明/意见:

  • 在上面的图像中,您可以看到List of all partions:没有产生任何结果,所以我想知道文件系统类型是否有问题?我的硬盘是xfsinitramfs的文件系统是什么?CPIO?
  • grub>命令行中,ls /生成了我希望在/boot中看到的内容。它包含了我所有的vmlinuz-*initramfs-*.img文件
  • 我的文件系统是xfs
  • 我尝试过不同的内核版本,结果都一样
  • 我有过两次成功的构建和安装,一次是现有内核(4.19.10),一次是升级,第二次是使用low-latency抢占模型的同一个内核。在我的一生中,我无法弄清楚当时我做了什么不同的事情。

因此,最后一个问题是--这些构建的initramfs表单有什么问题?我还能做些什么来验证它的完整性呢?在为.config文件系统构建内核时,是否应该进行任何xfs更改?

免责声明:这实际上是这个问题的延续,但我已经将问题简化了一些。一些背景信息可能是相关的。

EN

回答 1

Stack Overflow用户

发布于 2020-05-05 10:40:52

使用yum更新更新内核后,使用新内核重新启动VM,您将得到一个内核恐慌错误。下面的命令将解决此问题。

百胜拆仁

百胜更新

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56411718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档