我是新来的。 我正在尝试为qemu中的powerpc启动一个linux内核映像交叉编译。 我跟着网上的指南,但我被困住了,我不知道,我真的知道下一步做什么。
qemu-system-ppc -kernel vmlinux_2 -hda ss1.1.img -append "console=ttyS0 root=/dev/sda1" -nographic
>> =============================================================
>> OpenBIOS 1.1 [Jul 30 2013 21:44]
>> Configuration device id QEMU version 1 machine id 2
>> CPUs: 1
>> Memory: 128M
>> UUID: 00000000-0000-0000-0000-000000000000
>> CPU type PowerPC,750
Welcome to OpenBIOS v1.1 built on Jul 30 2013 21:44
>> [ppc] Kernel already loaded (0x01000000 + 0x001e5608) (initrd 0x00000000 + 0x00000000)
>> [ppc] Kernel command line: console=ttyS0 root=/dev/sda1
从这里开始它什么也没做,我可以进入监控模式,但没有。什么都没发生。我甚至试图将fs复制到img文件中,希望smt会发生但什么都没发生。 如果我在没有nographic选项的情况下运行命令vnc只显示带有bios版本的白色屏幕和闪烁的光标。 任何想法/建议? 我看了qemu文档,但问题是我甚至不知道我错在哪里。
答案 0 :(得分:0)
查看你的initrd输出:
(0x01000000 + 0x001e5608)(initrd 0x00000000 + 0x00000000)
它实际上看起来并不正常。
我的启动尝试:
qemu-system-ppc -m 1024 -kernel vmlinux -cdrom mini.iso -boot d
从这里加载mini.iso,initrd.gz,vmlinux:
确实有效。在安装提示符下,只需输入“alt-F2”(或“alt-F3”)切换到另一个控制台和“dmesg”,您就可以看到整个内核已成功启动。
dmesg尾端和起始行如下所示:
答案 1 :(得分:0)
使用Yocto构建qemuppc图像时遇到了同样的问题。 请尝试在没有此配置的情况下重建内核 - 它解决了我的问题:
kexec是一个系统调用,它实现了关闭当前内核并启动另一个内核的能力。这就像重启一样,但它独立于系统固件。
如果你谷歌“CONFIG_KEXEC PowerPC”,你也会找到一些答案。
答案 2 :(得分:0)
对我来说,就是我构建内核的时候。如果我没有启用: 平台支持---> 支持从Open固件或yaboot启动 我和你的屏幕完全相同。当我把它打开时,使用bitbake virtual / kernel -c menuconfig为yocto / poky重建内核一切都很好! :)
答案 3 :(得分:0)
OF [openfirmware]无法启动kdump内核。 qemuppc使用openbios。
答案 4 :(得分:-1)
不要使用nographic
使用下面的命令,
qemu-system-ppc -kernel vmlinux_2 -hda ss1.1.img -append "console=ttyS0 root=/dev/sda1"
或
qemu-system-ppc -kernel vmlinux_2 -hda ss1.1.img -append "root=/dev/sda1"