自定义 64 位内核 v3.19 的启动问题

自定义 64 位内核 v3.19 的启动问题

我正在尝试使用 - 编译和启动 Linux Kernel v3.19(64 位版本)

    进行默认配置
    进行 kvm 配置
    使-j8
编译没有任何错误,但它无法在 qemu 或我的主机内启动。我对linux使用以下命令行参数:“debug Earlyprintk loglevel=7”

靴子挂在了这个点 -

从 ROM 启动...
设置代码中的早期控制台
decompress_kernel 中的早期控制台

解压Linux...停车ELF...完成。
引导内核。

到目前为止我尝试过的事情 -

  • 有趣的是,如果我取消选中配置中的 64 位构建(通过 make menuconfig),生成的 32 位内核将正确启动。
  • 尝试过使用不同的 cpu(主机)+ 使用和不使用 kvm 来运行 qemu。
    sudo qemu-system-x86_64 -m 4G -append 'debug Earlyprintk loglevel=7' -kernel arch/x86/boot/bzImage -cpu host -enable-kvm

我知道内核会因为没有根文件系统而出现恐慌,但它会在启动过程的后期发生。我的基础是启动 32 位版本的内核,该版本会打印出很多内容,然后由于没有 vfs_root 而出现恐慌。

  • 64 位版本的内核 v4.2 及更高版本没有此问题 - 这意味着它们可以正确启动。

有什么指示可以指出错误是什么吗?

使用的 Linux 内核存储库: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

我的配置: https://dl.dropboxusercontent.com/u/9020146/errors/linux_2017_05_05/config-used

QEMU版本:QEMU 模拟器版本 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.11

相关内容