2014-10-19 90 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