我已经下载了linux内核2.6的源代码并使用默认配置构建它。我使用以下命令在qemu-system-x86_64上测试它: -
qemu-system-x86_64 -m 1024 -smp 4 -kernel arch/x86/boot/bzImage -initrd initramfs.gz -append "rdinit=/ root=/dev/ram" -serial stdio -append "root=/dev/ram0 console=ttyAMA0 console=ttyS0"
并且,它在尝试启动时显示以下错误: -
end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
堆栈跟踪如下: -
9.187305] Call Trace:
[ 9.187305] [<ffffffff81ef0503>] mount_block_root+0x190/0x224
[ 9.187305] [<ffffffff81ef0688>] mount_root+0xf1/0xfc
[ 9.187305] [<ffffffff81ef07d0>] prepare_namespace+0x13d/0x176
[ 9.187305] [<ffffffff81ef022a>] kernel_init_freeable+0x1e2/0x1f2
[ 9.187305] [<ffffffff81eef8f3>] ? initcall_blacklist+0xad/0xad
[ 9.187305] [<ffffffff818098d0>] ? rest_init+0x80/0x80
[ 9.187305] [<ffffffff818098d9>] kernel_init+0x9/0xf0
[ 9.187305] [<ffffffff81819dac>] ret_from_fork+0x7c/0xb0
[ 9.187305] [<ffffffff818098d0>] ? rest_init+0x80/0x80
我一直在搜索有关此错误的更多信息,但无法确定此错误的原因。 任何人都可以向我解释为什么我会收到此错误?我该如何解决?
请记住,我刚刚开始内核开发,仍然是这个领域的菜鸟。