在qemu中引导ppc linux内核

时间:2013-08-21 09:49:03

标签: linux kernel qemu powerpc

我是新来的。 我正在尝试为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文档,但问题是我甚至不知道我错在哪里。

5 个答案:

答案 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:

http://ports.ubuntu.com/ubuntu-ports/dists/xenial/main/installer-powerpc/current/images/powerpc/netboot

确实有效。在安装提示符下,只需输入“alt-F2”(或“alt-F3”)切换到另一个控制台和“dmesg”,您就可以看到整个内核已成功启动。

dmesg尾端和起始行如下所示:

enter image description here

答案 1 :(得分:0)

使用Yocto构建qemuppc图像时遇到了同样的问题。 请尝试在没有此配置的情况下重建内核 - 它解决了我的问题:

  • CONFIG_KEXEC

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"