You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Linux内核源码后,QEMU启动卡在“Booting from Rom”求助

解决编译Linux后QEMU卡在“Booting from Rom”的问题

启动界面显示“Booting from Rom”且无后续输出,说明QEMU未正确加载指定内核,或者内核配置、initrd存在问题,以下是具体排查修复步骤:

  • 检查内核配置
    确保开启以下关键选项(menuconfig中搜索对应项):

    • *CONFIG_X86_64=y(匹配x86_64架构的QEMU)
    • *CONFIG_INITRAMFS_SOURCE(指定initrd对应的根文件系统路径)
    • *CONFIG_SERIAL_8250=y 和 *CONFIG_SERIAL_8250_CONSOLE=y(开启串口控制台,方便查看启动日志)
      配置修改后重新编译内核。
  • 验证内核和initrd文件有效性

    • 用file vmlinux检查输出是否包含“ELF 64-bit LSB executable, x86-64”,确认是正确的x86_64内核文件
    • 用cpio -t < initrd.img查看initrd内容,确保包含/bin/sh、/init等必要的根文件系统组件,空的或不完整的initrd会导致启动失败
  • 调整QEMU启动命令
    原命令缺少机器类型指定和串口日志输出,改用以下命令:

    qemu-system-x86_64 -machine q35 -kernel vmlinux -initrd initrd.img -serial stdio -nographic
    
    • -machine q35指定现代x86_64兼容的机器类型,适配新内核
    • -serial stdio -nographic直接在终端输出启动日志,避免图形界面卡住看不到报错信息
  • 重新构建完整环境
    如果以上步骤无效,执行make clean清空旧编译产物,再用make -j$(nproc)重新编译内核,接着安装模块到临时根文件系统,最后重新生成initrd文件。

内容的提问来源于stack exchange,提问作者amanuel2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 09:32:08