1. qemu
ubuntu軟件包安裝:
$?sudo apt-get install qemu
源碼編譯安裝:
$?git clone?git://git.qemu-project.org/qemu.git
$?cd qemu
$?git checkout remotes/origin/stable-2.4 -b stable-2.4
2. gcc
$?sudo apt-get install gcc-4.9-arm-linux-gnueabi
$?sudo apt-get install gcc-4.9-arm-linux-gnueabi-base
3. linux kernel源碼
$?wget?https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz
4. busybox
$?wget http://www.busybox.NET/downloads/busybox-1.20.2.tar.bz2thorn@ubuntu:~/busybox-1.20.2
$ make defconfig
編譯選擇使用glibc動(dòng)態(tài)庫俗扇,因?yàn)殪o態(tài)庫可能會(huì)出現(xiàn)一些未知的問題
# make menuconfigSettings? --->? ? Build Options? --->? ? ? ? [ ] Buildstaticbinary(nosharedlibs)
$ make CROSS_COMPILE=arm-linux-gnueabi-
$ make install CROSS_COMPILE=arm-linux-gnueabi-
編譯時(shí)的錯(cuò)誤
錯(cuò)誤一:
loginutils/passwd.c:In function ‘passwd_main’:
loginutils/passwd.c:104:16:error: storage size of ‘rlimit_fsize’isn’t known
loginutils/passwd.c:188:2: warning: implicit declaration offunction ‘setrlimit’ [-Wimplicit-function-declaration]
loginutils/passwd.c:188:12: error: ‘RLIMIT_FSIZE’ undeclared(first use in this function)
loginutils/passwd.c:188:12: note: each undeclared identifier isreported>for each function it appears in
loginutils/passwd.c:104:16: warning: unused variable‘rlimit_fsize’ [-Wunused-variable]
改正:
sudo gedit busybox-1.19.4/include/libbb.h
添加頭文件:#include <sys/resource.h>
錯(cuò)誤二:
util-linux/mkfs_ext2.c:51:27: fatal error: linux/ext2_fs.h:No such file or directory
改正:
出現(xiàn)這個(gè)錯(cuò)誤是busybox版本導(dǎo)致的,只有busybox-1.19.4會(huì)出現(xiàn)這個(gè)問題,換成busybox-1.21.1,問題消失。?
5. libguestfs
sudo apt-get install libguestfs-tools
6. 編譯內(nèi)核
6.1 生成config文件
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm O=./out_vexpress_3_16 vexpress_defconfig
6.2 配置內(nèi)核
$?sudo apt-get install libncurses-dev
$?make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm O=./out_vexpress_3_16 menuconfig?
將System Type -->的Enable the L2x0 outer cache controller 取消
6.3 編譯
$?make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm O=./out_vexpress_3_16 zImage -j2
7. 參考文獻(xiàn)
1橄维、從零使用qemu模擬器搭建arm運(yùn)行環(huán)境
2、Qemu搭建ARM vexpress開發(fā)環(huán)境(一)