Ubuntu 16.04 利用qemu模拟ARM开发板
来源:互联网 发布:mmd绅士动作数据下载 编辑:程序博客网 时间:2024/06/05 20:41
QEMU目前可以模拟vexpress Cortex A9四核处理器开发板。
环境配置:Ubuntu 16.04,Kernel 4.4.1
内容参考了:
http://blog.csdn.net/linyt/article/details/42504975
http://www.cnblogs.com/pengdonglin137/p/5023342.html
(推荐)https://learningfromyoublog.wordpress.com/2016/04/05/131/
1. 下载kernel
有两种方式:git和wget,这里使用wget下载方式。从kernel.org直接下载很慢(几KB),因此可以借用国内的代理(可以达到1~2M):
从kernel下载:
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.9.tar.xz
使用代理:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.9.9.tar.xz
2. 安装arm交叉编译链
arm交叉编译链有很多种,有的书上装了arm-linux-gnueabi 和 arm-linux-gnueabihf两种,安装方法如下:
sudo apt-get install gcc-arm-linux-gnueabi
3. 编译Linux内核
解压下载的kernel文件,进入解压后的文件夹,运行下面的指令编译。
随后就可以将生成的zImage和dtbs拷贝到单独的文件夹中,拷贝指令:
4.安装qemu模拟器
sudo apt-get install qemu
5.制作根文件系统
根文件系统由基本的运行命令、库和字符设备构成。
基本的运行命令需要使用Busybox,这个库也需要进行交叉编译,因此可以运行下面的指令进行源代码下载。
解压源代码,在源代码目录下运行:
安装完成后,该目录下生成的_install,即是基本的运行指令。
然后就开始一步步建立根文件系统。
5.1 创建rootfs目录:
5.2 拷贝busybox命令
5.3从工具链中拷贝运行库到lib下
5.4 创建4个tty终端设备
c代表字符设备,4是主设备号,1~2~3~4是次设备号
*注意:实际上还可以在这个镜像中插入其他的文件夹,可以参考https://learningfromyoublog.wordpress.com/2016/04/05/131/,写的很详细。
5.5生成镜像
5.6 格式化生成ext3文件系统
5.7将文件拷贝到镜像中
6. 启动qemu模拟系统
使用下面的指令启动,会在当前窗口中显示qemu虚拟出的终端。
使用下面的指令启动,会另开一个窗口显示虚拟终端。
===================================================
使用现成的debian qemu arm系统
1.debian qemu arm系统 下载地址 https://people.debian.org/~aurel32/qemu/
分别下载一下文件:
debian_wheezy_armel_standard.qcow2
initrd.img-3.2.0-4-versatile
vmlinuz-3.2.0-4-versatile
2.安装qemu sudo apt-get install qemu
3.修改ubuntu的网路配置文件 /etc/network/interfaces
4.修改qemu网络接口启动文件 /etc/qemu-ifup
auto loiface lo inet loopbackauto ens33iface ens33 inet dhcpiface br0 inet dhcpbridge_ports ens33bridge_maxwait 0
其中ens33是虚拟机ubuntu 用ifconfig看到的网卡名称 需根据当前情况修改
#!/bin/shecho "Executing /etc/qemu-ifup"echo "Bringing up $1 for bridged mode..."sudo /sbin/ifconfig $1 0.0.0.0 promisc upecho "Adding $1 to br0..."sudo /sbin/brctl addif br0 $1sleep 2
5.生效网络配置
sudo chmod a+x /etc/qemu-ifupsudo /etc/init.d/networking restartsudo ifdown ens33sudo ifup br0
6.运行虚拟机
sudo qemu-system-arm -M versatilepb -initrd initrd.img-3.2.0-4-versatile -kernel vmlinuz-3.2.0-4-versatile -hda debian_wheezy_armel_standard.qcow2 -append "root=/dev/sda1" -net nic,macaddr=00:0c:19:d3:00:01 -net tap
这样就会运行一个 debian的arm系统 网络连接正常 可以写入系统
如果关闭后需要再次运行 需要再次执行
sudo ifdown ens33sudo ifup br0再启动虚拟机
7.添加 支持arm框架的debian源
清华大学开源软件镜像站 地址 http://ftp2.cn.debian.org/debian
修改/etc/apt/sources.list内容为:
deb http://ftp2.cn.debian.org/debian wheezy main
deb http://ftp2.cn.debian.org/debian wheezy-updates main
deb http://ftp2.cn.debian.org/debian wheezy-updates main
保存后apt-get update一下 瞬间世界通畅了
阅读全文
0 0
- Ubuntu 16.04 利用qemu模拟ARM开发板
- Ubuntu 16.04 利用qemu模拟ARM开发板
- Ubuntu 16.04 利用qemu模拟ARM开发板
- 使用qemu模拟arm开发板
- UBUNTU下使用QEMU模拟ARM
- 使用QEMU模拟搭建ARM开发平台
- 使用QEMU模拟搭建ARM开发平台
- 利用QEMU运行ARM开发环境
- ubuntu下使用qemu-system-arm模拟arm环境
- ubuntu下使用qemu-system-arm模拟arm环境
- ubuntu下使用qemu-system-arm模拟arm环境
- ubuntu下使用qemu-system-arm模拟arm环境
- qemu arm 开发板搭建
- 使用 QEMU 模拟 ARM
- 用Qemu模拟ARM
- 用Qemu模拟ARM
- 用QEMU模拟ARM
- ubuntu下使用qemu模拟ARM(二)-------编译u-boot
- 水仙花数
- spark-alluxio生产环境的应用与实践
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path报错
- 解决inline、inline—block之间空隙问题
- JAVA_String
- Ubuntu 16.04 利用qemu模拟ARM开发板
- 职场生涯
- apache中关于目录访问权限设置
- Eclipse常用快捷键 手指不离键盘
- linux socket tuning
- 什么是C#及.NET FrameWork
- HDU 2021 发工资咯(water)
- SPOJ ADALIST Ada and List(vector的使用)
- 联想笔记本一键还原出现 “系统分区结构发生改变,无法进行恢复操作”怎样处理。