2014-10-19 62 views
0

直到最近我才能使用定制的交叉编译的Linux内核和BusyBox启动qemu-system-ppc(v1.7.0)。我甚至在这里发布了它:qemu kernel debugging with KGDBqemu-system-ppc似乎无法启动

但是我现在无法使用v2.0.2。我用它来调用QEMU的命令是非常相同的我以前

qemu-system-ppc -M mpc8544ds -m 512 -kernel zImage -s -nographic -initrd busyboxfs.img -append "root=/dev/ram rdinit=/bin/sh kgdboc=ttyS0,115200 kgdbwait

使用任何人都可以帮我看一下控制台日志,所以我能理解,如果它确实启动,如果没有什么问题。我已经尝试了没有kgdb参数的内核,但仍然看到的只是空白。

回答

2

您可能想看看Buildroot(http://www.buildroot.org):我们有三个PowerPC defconfigs,可以在最新版本的Qemu下引导,包括2.0.2和2.1.2。

特别参见qemu_ppc_g3beige_defconfig,这靴子的Qemu 2.1.2精细,qemu_ppc_mpc8544ds_defconfig,这靴子的Qemu 2.0.2下的罚款,并qemu_ppc_virtex_ml507_defconfig,它的Qemu 2.1.2靴子罚款。

+0

说实话,我从来没有用过buildroot。正如你所提到的,这些defconfig可能是一组补丁,它们将配置buildroot来生成工具链,rootfs,内核映像和引导加载程序。对?我会从现在开始尝试,但如果我想在本例中将问题本地化,该怎么办?在启动映像所需的这些组件中,如果其中一个出现故障会怎样?我们如何识别失败的组件?我使用emdebian作为工具链,busybox作为rootfs。如果我是正确的,Qemu使用openBIOS。可能是我的内核可能有问题,但在那种情况下,我至少会看到一些控制台日志。 – HighOnMeat 2014-10-20 12:47:48

+0

我现在使用您指定的defconfig。但是我指定了内核的2.6.32版本。现在交叉编译器显然将所有警告视为错误(这很好,可能是新版内核版本可能已经修复了它),所以我的2.6.32内核构建失败。为了克服这个问题,我尝试在顶层内核makefile中添加'-Wno-error',但无济于事。我被迫添加'-w'来忽略所有警告。 有没有一种方法可以防止交叉编译器将所有警告视为错误?也许使用CFLAGS?在哪里添加它们? – HighOnMeat 2014-10-23 03:55:08