qemu交叉编译arm内核_【记录】尝试用QEMU模拟ARM开发板去加载并运行Uboot,kernel,rootfs【转】...

本文记录了在Ubuntu环境下,利用QEMU模拟ARM开发板加载并运行Uboot、Kernel以及rootfs的过程。首先,介绍了QEMU的下载与交叉编译配置,接着展示了如何为ARM平台安装QEMU,然后逐步调试运行了Hello World程序,验证了交叉编译工具链的正确性。最后,成功启动了内核,实现了基于busybox的ram启动rootfs的模拟运行。
摘要由CSDN通过智能技术生成

【背景】

手上有一个嵌入式Linux的项目。

已经用交叉编译器arm-xscale-linux-gnueabi去编译了Uboot和kernel:

且已经有了对应的rootfs了,所以算是基本齐全了。

后来得知有个QEMU,和SkyEye类似,可以模拟arm开发板。

所以,尝试去试试,能否在Ubuntu下,用QEMU去模拟加载并运行Uboot,kernel,rootfs。

【折腾过程】

1.再去看看关于QEMU的介绍资料:

2.其下载页面:

下载QEMU:

解压得到源码:

3.参考官网的文档:

中的:

去折腾。

4.先去在Ubuntu的Host上为arm平台安装QEMU:

5.然后再去下载测试软件:

然后解压:

6.再去测试,结果只输出一行VNC:

解决后,可以看到QEMU的arm的linux界面了:

7.再去测试测试arm的hello world是否可用。

先写个hello_qemu.c:

再去用自己的交叉编译器arm-xscale-linux-gnueabi去编译:

然后去运行试试:

先去找到sysroot的路径,是参考之前的折腾:

的路径:

/opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include

所以sysroot,应该是:

/opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot

所以去试试:

说明交叉工具链是正常的。

8.再去折腾uboot:

9.然后再去下载编译kernel:

10.然后再去弄Open TFTP Server:

11.然后再去折腾qemu-ifup & qemu-ifdown:

12.都准备好了,就可以去启动内核了:

13.折腾完毕内核,就可以去弄rootfs了:

【总结】

此处,已经可以正常运行,一个基于busybox的,从ram启动的rootfs了。

至此,算是基本可用了。

有空再折腾,如何从uboot启动内核,从nfs加载rootfs等等内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值