为什么linux内核会恐慌?
我已经下载了linux内核2.6的源代码,并使用默认配置构建了它。我使用以下命令在qemu-system-x86_64上测试它:-为什么linux内核会恐慌?,linux,build,linux-kernel,qemu,Linux,Build,Linux Kernel,Qemu,我已经下载了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=tty
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
9.187305]呼叫跟踪:
[9.187305][]安装块根目录+0x190/0x224
[9.187305][]装载根目录+0xf1/0xfc
[9.187305][]准备_名称空间+0x13d/0x176
[9.187305][]内核初始化可释放+0x1e2/0x1f2
[ 9.187305] [] ? initcall_黑名单+0xad/0xad
[ 9.187305] [] ? rest_init+0x80/0x80
[9.187305][]内核初始化+0x9/0xf0
[9.187305][]从叉子回收+0x7c/0xb0
[ 9.187305] [] ? rest_init+0x80/0x80
我一直在搜索有关此错误的更多信息,但无法确定此错误的原因。
谁能给我解释一下为什么我会犯这个错误?我如何解决它
请记住,我刚刚开始内核开发,仍然是这个领域的新手 您使用的是initrd还是initramfs?命令行似乎引用了使用initramfs的bothI am