将Qemu控制台重定向到文件或主机终端?

时间:2013-08-07 08:32:20

标签: qemu

背景

我的系统是基于x86的内核和基于ramfs的根文件系统。我已经使用基于cpio存档的ramfs(它将使用boot = / dev / ram0作为RAM设备),并且我遇到了一些init问题。整个目的是将ramfs优化到最小,以适应一个非常小的系统。我试图在init中调试问题。我使用以下命令在QEMU(Quantal Quetzal)中启动Ubuntu 12.10

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=tty1"

正如预期的那样,系统会进入OOPS。

问题:

我希望看到日志来调查崩溃的原因,但我无法使用 Shift 键和 Page Up / Page Down 。所以我尝试使用curses命令将输出重定向到主机终端:

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=tty1" -curses

但在这里,我无法导航并找到问题。

P.S。如果我的系统启动正常(使用正确的rootfs),那么我可以导航并查看消息。

如何将消息重定向到终端或文件?

1 个答案:

答案 0 :(得分:14)

添加以下命令

console=ttyAMA0  console=ttyS0

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=ttyAMA0  console=ttyS0"

现在所有dmesg日志都将重定向到您的控制台。

还有一件事:我从上面的命令中观察到,你的初始RAM磁盘在哪里?即 - -initrd (initrdimage)

要启动系统,您需要两个图像,1)zImage或bZimage(如果是x86)    2)rootfs -root文件系统

在您的情况下,缺少的组件是rootfs。