我正在尝试使用 - 编译和启动 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