为什么linux内核会恐慌?

为什么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

我已经下载了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
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