静态编译qemu_利用qemu模拟嵌入式系统制作全过程-TinyLab出品

REFERENCE

Author: Wen Pingbo

利用

qemu

模拟嵌入式系统制作全过程

by Pingbo Wen of

TinyLab.org

2013/08/31

这篇文章,将介绍如何用

qemu

来搭建一个基于

ARM

的嵌入式

linux

系统。通过该文章,你可以学习到如何配置

kernel

,如何

交叉编译

kernel

,如何配置

busybox

并编译,如何制作

initramfs

,如何制作根文件系统,如何定制自己的

uboot

,如何通过

uboot

kernel

传递参数等。开始干活!

零、环境搭建

在实现我们的目标之前,我们需要搭建自己的工作环境。在这里,假设你的主机上已经有

gcc

本地编译环境,并运行

Ubuntu

12.10

。但是这并不影响在其他的

linux

平台上进行,只要修改一下对应的命令就可以了。

首先,我们需要下载一个

ARM

交叉工具链。你可以在网上下载源码自己编译,也可以下载已经编译好的工具链。在工具链

中有基本的

ARM

编译工具,比如:

gcc, gdb, addr2line, nm, objcopy, objdump

等。可能你会问,这些工具本机不是已经

有了么?如果不出意外,我想你的主机应该是

x86

架构的。不同的架构,有不同的指令集,你不能拿一个

x86

的执行文件放

到一个

ARM

机器上执行。所以我们需要一个能够在

x86

架构上生成

ARM

可执行程序的

GCC

编译器。有很多预先编译好的

ARM

工具链,这里使用的是

CodeSourcery[1]

。更多关于

toolchain

的信息可以在

elinux.org

找到

[2]

。下载下来后,直接解

压,放到某个目录,然后配置一下

PATH

环境变量,这里是这样配置的:

1

export PATH=~/arm-

2013.05/bin:$PATH

配置完

ARM

交叉工具链后,我们需要下载一些源码,并安装一些软件。命令如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# install qemu

sudo apt-

get install qemu qemu-

kvm qemu-

kvm-

extras qemu-

user qemu-

system

# install mkimage tool

sudo apt-

get install uboot-

mkimage

# install git

sudo apt-

get install git

# prepare related directory

mkdir -

pv ~/armsource/{kernel,uboot,ramfs,busybox}

# download latest kernel stable code to kernel dir

git clone http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-

stable.git ~/armsource/kernel

# download latest u-

boot code to uboot dir

git clone git://git.denx.de/u-

boot.git ~/armsource/uboot

# download latest busybox code to busybox dir

git clone git://busybox.net/busybox.git ~/armsource/busybox

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值