在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境
马上就要开学了,开学后就会开始arm+Linux的学习,因为马上就要去学校了,就没有买板子,打算去了学校再买,但是想学习的心是迫切的(O(∩_∩)O哈哈~),在网上浏览的时候发现了QEMU这个"神器",它是一个开源的可执行硬件虚拟化的托管虚拟机,可以虚拟出甚至cortex A的开发板,提供必备的外设:LCD、串口等等,几乎可以实现在线学习arm开发,简直是神器有木有,所
马上就要开学了,开学后就会开始arm+Linux的学习,因为马上就要去学校了,就没有买板子,打算去了学校再买,但是想学习的心是迫切的(O(∩_∩)O哈哈~),在网上浏览的时候发现了QEMU这个"神器",它是一个开源的可执行硬件虚拟化的托管虚拟机,可以虚拟出甚至cortex A的开发板,提供必备的外设:LCD、串口等等,几乎可以实现在线学习arm开发,简直是神器有木有,所以我就果断开始了学习。
首先要搭建基本的开发环境
安装Ubuntu16.04
这个就不说了
安装VVmware-tools
安装这个是为了方便共享剪切板,这个也比较简单,这里就不说了。
安装Samba
便于主机与虚拟主机间的文件传输,详细步骤可以参照我以前的博客。
安装Uboot-tools
用来生成适应U-boot引导的镜像文件格式
apt install u-boot-tools
安装Vim
apt-get install vim
安装交叉编译工具
交叉编译:在一个平台上编译生成在另一个平台上运行的可执行代码
ABI和EABI:
安装
apt-get install gcc-arm-linux-gnueabi
apt-get install g++-arm-linux-gnueabi
示例(hello world)
在Linux端直接编译后的结果
交叉编译后的结果
QEMU安装
自动安装
apt-get install qemu
版本太低不考虑
手动编译安装
安装依赖包
sudo apt-get install build-essential pkg-config zlib1g-dev
sudo apt-get install libglib2.0-0 libglib2.0-dev
sudo apt-get install libsdl1.2-dev
sudo apt-get install libpixman-1-dev libfdt-dev
sudo apt-get install autoconf automake libtool
sudo apt-get install librbd-dev
apt-get install libaio-dev
apt-get install flex bison
下载QEMU源码
cd /tmp
wget http://download.qemu-project.org/qemu-2.9.0.tar.xz
tar xvJf qemu-2.9.0.tar.xz
cd qemu-2.9.0
配置和编译安装 QEMU
udo ./configure --prefix=/usr/local/qemu2.9 \
--target-list=arm-softmmu --audio-drv-list=
sudo make && sudo make install
sudo ln -s /usr/local/qemu2.9/bin/* /usr/local/bin/
查看是否安装成功,查看版本
root@gyy-virtual-ubuntu:/tmp/qemu-2.9.0# qemu-img -V
qemu-img version 2.9.0
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
查看支持的开发板
qemu-system-arm -M help
支持的开发板有很多,但是我们注意的是它支持的最好的一个,Arm官方的开发板vexpress-a9
启动开发板
qemu-system-arm -M vexpress-a9 \
-m 512M \
-kernel ./uImage \
-dtb ./vexpress-v2p-ca9.dtb \
-nographic \
-append "console=ttyAMA0"
可以看到它加载了4.4.76的Linux内核
由于没有根文件系统,运行到这里就停止了
到这了基本的开发环境就搭建完成了,下篇博客会讲述如何编译Linux内核、如何使用busybox制作根文件系统、如何编译u-boot、如何使用u-boot来加载Linux内核
更多推荐
所有评论(0)