在Ubuntu下使用QEMU搭建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内核
在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境相关推荐
- WIndows下使用Qemu安装Arm版Kylin系统
提示:转载请注明出处 文章目录 前言 一.Qemu是什么? 二.操作步骤 1.环境准备 (1).qemu安装 (2).QEMU_EFI.fd:镜像启动时的BIOS. (3).ARM系统的.iso镜像: ...
- arm linux运行qemu,Linux下使用QEMU构建ARM运行环境
以下所有步骤都是在Ubuntu 14.04系统上进行的,全部通过验证. 本文的搭建过程都是基于vexpress A9开发板进行的,这号称是qemu模拟得最好的arm开发板. 1.下载Linux内核 方 ...
- win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10
目录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 前言 一.工具准备 二.安装 1.安装QEMU 2.安装虚拟机 3.下次启动虚拟机 4.主机与虚拟机传送文件 总 ...
- ubuntu 下安装qemu
(1)安装qemu 仿真ARM需要使用qemu-system-arm,安装模拟器 sudo apt-get install qemu-kvm qemu-kvm-extras (2)下载内核镜像.以下 ...
- Ubuntu安装及Ubuntu下常用软件安装(不断补充)及Windows相关--软件开发用途
之前一直使用Window系统,现在工作中大家主流使用Ubuntu,同事帮忙装个Ubuntu系统,事后写一下安装过程,以备后续再次安装查阅. 1Ubuntu安装 1.1Ubuntu文件下载: Ubunt ...
- 在Ubuntu下使用QEMU搭建arm开发环境(三)使用u-boot加载Linux内核
嵌入式启动概述 嵌入式boot loader 功能类似于PC的BIOS.硬件检测是否正常 加载操作系统镜像到RAM 设置不同的启动方式 常见的启动方式 NOR/NAND flash启动 从SD卡启动 ...
- ubuntu下使用qemu模拟ARM-----uboot从sd卡启动内核
编译uboot 编译内核 用mkimage制作文件 mkimage -n 'linux-2.6.14' -A arm -O linux -T kernel -C none -a 0x60008000 ...
- ARM架构下在qemu模拟器中汇编实现:统计输入字符串长度并且判断是否回文
参考文章: 在Ubuntu中安装Qemu模拟ARM架构 objdump(Linux)反汇编命令使用指南 如何在x64的Ubuntu系统下安装64bit的交叉编译工具aarch64-linux-gnu- ...
- linux网站渗透工具包,ubuntu下安装 kali linux 渗透工具包
相信用过linux系统的盆友都听说过kali linux 它是一个非常好的用于渗透测试的Linux发行版.但是如何在ubuntu下使用kali linux 的渗透工具嘞!LionSec开发出了一个py ...
最新文章
- php和python交互-浅析PHP与Python进行数据交互
- ming window 交叉编译_opencv3编译pc端及交叉编译arm端
- 万字教你如何用 Python 实现线性规划
- Android蓝牙A2dp profile的使用
- 在 VM的CentOS 中 安装 sspanel 宝塔面板 总结
- 电脑加域、exchange邮箱设置、绑定打印机
- java:123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
- 初中数学计算机图片,初中数学课件背景图片大全.doc
- TOGAF认证考试总结
- 有一个会做饭的男朋友幸福么?
- 破解电信中兴ZXV10 H618C超级密码telecomadmin
- 在Windows 7中使用AppLocker限制对程序的访问
- 食物也疯狂!KOOCAN盘点因为食物毁掉的中国电视剧
- 史上最猛“员工”,疯狂吐槽亿万富翁老板小扎:那么有钱,还总穿着同样的衣服!
- 解决:ClassCastException: org.springframework.util.LinkedCaseInsensi
- Python三方微博登录
- 惠普服务器是什么芯片,惠普将首次在服务器中应用AMD的Opteron芯片
- 如何压缩ppt文件大小?
- Google的S2算法原理以及使用Java版本--部分参考自《高效的多维空间点索引算法》
- 双11了,漂亮灵气仙气十足的小姐姐想脱单,广东惠州人,大专学历财务工作,性格温和(NO.001)...
热门文章
- 为什么学校打印店老板大多是湖南人?
- 集美大学计算机工程学院转专业,集美大学本科学生转专业管理办法(试行)
- 通过进程池爬取王者荣耀所有英雄皮肤和技能详情
- 不能查看工作组计算机
- keil中micro lib
- 360“隔离沙箱”强劲升级:运行软件不中毒
- Linux国产操作系统,UCA-系统工程师学习必备技能,Linux启动流程、计划任务、密码破解和密码防破解以及ssh服务
- 基于图形用户界面的大学体测成绩计算器(python语言)
- java 电力 监测 系统,基于Spring框架的电力负荷管理系统[Java编程]
- javascript 判断数据类型的几种方法 1