马上就要开学了,开学后就会开始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开发环境(一)搭建基本开发环境相关推荐

  1. WIndows下使用Qemu安装Arm版Kylin系统

    提示:转载请注明出处 文章目录 前言 一.Qemu是什么? 二.操作步骤 1.环境准备 (1).qemu安装 (2).QEMU_EFI.fd:镜像启动时的BIOS. (3).ARM系统的.iso镜像: ...

  2. arm linux运行qemu,Linux下使用QEMU构建ARM运行环境

    以下所有步骤都是在Ubuntu 14.04系统上进行的,全部通过验证. 本文的搭建过程都是基于vexpress A9开发板进行的,这号称是qemu模拟得最好的arm开发板. 1.下载Linux内核 方 ...

  3. win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10

    目录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 前言 一.工具准备 二.安装 1.安装QEMU 2.安装虚拟机 3.下次启动虚拟机 4.主机与虚拟机传送文件 总 ...

  4. ubuntu 下安装qemu

    (1)安装qemu 仿真ARM需要使用qemu-system-arm,安装模拟器 sudo apt-get install  qemu-kvm qemu-kvm-extras (2)下载内核镜像.以下 ...

  5. Ubuntu安装及Ubuntu下常用软件安装(不断补充)及Windows相关--软件开发用途

    之前一直使用Window系统,现在工作中大家主流使用Ubuntu,同事帮忙装个Ubuntu系统,事后写一下安装过程,以备后续再次安装查阅. 1Ubuntu安装 1.1Ubuntu文件下载: Ubunt ...

  6. 在Ubuntu下使用QEMU搭建arm开发环境(三)使用u-boot加载Linux内核

    嵌入式启动概述 嵌入式boot loader 功能类似于PC的BIOS.硬件检测是否正常 加载操作系统镜像到RAM 设置不同的启动方式 常见的启动方式 NOR/NAND flash启动 从SD卡启动 ...

  7. ubuntu下使用qemu模拟ARM-----uboot从sd卡启动内核

    编译uboot 编译内核 用mkimage制作文件 mkimage -n 'linux-2.6.14' -A arm -O linux -T kernel -C none -a 0x60008000 ...

  8. ARM架构下在qemu模拟器中汇编实现:统计输入字符串长度并且判断是否回文

    参考文章: 在Ubuntu中安装Qemu模拟ARM架构 objdump(Linux)反汇编命令使用指南 如何在x64的Ubuntu系统下安装64bit的交叉编译工具aarch64-linux-gnu- ...

  9. linux网站渗透工具包,ubuntu下安装 kali linux 渗透工具包

    相信用过linux系统的盆友都听说过kali linux 它是一个非常好的用于渗透测试的Linux发行版.但是如何在ubuntu下使用kali linux 的渗透工具嘞!LionSec开发出了一个py ...

最新文章

  1. php和python交互-浅析PHP与Python进行数据交互
  2. ming window 交叉编译_opencv3编译pc端及交叉编译arm端
  3. 万字教你如何用 Python 实现线性规划
  4. Android蓝牙A2dp profile的使用
  5. 在 VM的CentOS 中 安装 sspanel 宝塔面板 总结
  6. 电脑加域、exchange邮箱设置、绑定打印机
  7. java:123321是一个非常特殊的数,它从左边读和从右边读是一样的。   输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
  8. 初中数学计算机图片,初中数学课件背景图片大全.doc
  9. TOGAF认证考试总结
  10. 有一个会做饭的男朋友幸福么?
  11. 破解电信中兴ZXV10 H618C超级密码telecomadmin
  12. 在Windows 7中使用AppLocker限制对程序的访问
  13. 食物也疯狂!KOOCAN盘点因为食物毁掉的中国电视剧
  14. 史上最猛“员工”,疯狂吐槽亿万富翁老板小扎:那么有钱,还总穿着同样的衣服!
  15. 解决:ClassCastException: org.springframework.util.LinkedCaseInsensi
  16. Python三方微博登录
  17. 惠普服务器是什么芯片,惠普将首次在服务器中应用AMD的Opteron芯片
  18. 如何压缩ppt文件大小?
  19. Google的S2算法原理以及使用Java版本--部分参考自《高效的多维空间点索引算法》
  20. 双11了,漂亮灵气仙气十足的小姐姐想脱单,广东惠州人,大专学历财务工作,性格温和(NO.001)...

热门文章

  1. 为什么学校打印店老板大多是湖南人?
  2. 集美大学计算机工程学院转专业,集美大学本科学生转专业管理办法(试行)
  3. 通过进程池爬取王者荣耀所有英雄皮肤和技能详情
  4. 不能查看工作组计算机
  5. keil中micro lib
  6. 360“隔离沙箱”强劲升级:运行软件不中毒
  7. Linux国产操作系统,UCA-系统工程师学习必备技能,Linux启动流程、计划任务、密码破解和密码防破解以及ssh服务
  8. 基于图形用户界面的大学体测成绩计算器(python语言)
  9. java 电力 监测 系统,基于Spring框架的电力负荷管理系统[Java编程]
  10. javascript 判断数据类型的几种方法 1