qemu无法启动u-boot uImage二进制文件

时间:2014-11-02 16:36:48

标签: embedded embedded-linux qemu u-boot buildroot

我已经使用buildroot来构建兼容qemu的Linux内核和根文件系统。我正在为MPC8544DS机器进行仿真,并使用qemu_ppc_mpc8544ds_defconfig生成这些组件。我能够成功构建内核和根文件系统。并且能够在qemu下运行它。

然而,当我尝试运行uboot而不是Linux内核(以及相关的rootfs)时,它失败了。这是我调用qemu启动u-boot的方式:

qemu-system-ppc -nographic -M mpc8544ds -m 512 -kernel ~/CrossCompilation/u-boot.bin并且它失败了:

Wrong image type 52, expected 2 qemu: could not load kernel '~/CrossCompilation/u-boot.bin'

我不明白还有什么可能是错的。我通过互联网检查了各种博客帖子,几乎所有帖子都使用uboot.bin作为内核(而不是srec和其他格式)

是否有人可以了解各种图像类型编号以及适合哪些图像?

更新:这是我编译我的u-boot的方式

cd to u-boot dir

make distclean
make mrproper

make ARCH=powerpc CROSS_COMPILE=~/CrossCompilation/buildroot-2014.08/output/host/usr/bin/powerpc-buildroot-linux-gnuspe- MPC8544DS_defconfig

make ARCH=powerpc CROSS_COMPILE=~/CrossCompilation/buildroot-2014.08/output/host/usr/bin/powerpc-buildroot-linux-gnuspe-

1 个答案:

答案 0 :(得分:0)

尝试删除-kernel选项。确保一切保持不变:

qemu-system-ppc -nographic -M mpc8544ds -m 512  ~/CrossCompilation/u-boot.bin