当前位置: 首页 > news >正文

QEMU模拟ARM嵌入式LINUX系统

0.准备工作

本次仍是在 Ubuntu13.10(64 位,Kernel:3.13.6)下操作。

首先,在$HOME 目录下创建 arm_qemu 目录,用于存放我们等会用到的源码包等:

mkdir ~/arm_qemu

本次共需安装和下载如下工具及源码包(涉及的下载工具默认已安装,不进行说明):

a.qemu

sudo apt-get install qemu

b.交叉编译工具链

sudo apt-get install gcc-4.7-arm-linux-gnueabi

c.uboot

git clone git://git.denx.de/u-boot.git ~/arm_qemu/uboot

d.kernel

git clone http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git ~/arm_qemu/kernel

e.busybox

git clone git://busybox.net/busybox.git ~/arm_qemu/busybox

f.u-boot-tools

sudo apt-get install u-boot-tools

安装好交叉编译链后还需要做如下处理,即创建链接(为什么创建,可以了解下编译脚本):

sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-4.7 /usr/bin/arm-linux-gnueabi-gcc
sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-ar-4.7 /usr/bin/arm-linux-gnueabi-gcc-ar
sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-nm-4.7 /usr/bin/arm-linux-gnueabi-gcc-nm
sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-ranlib-4.7 /usr/bin/arm-linux-gnueabi-gcc-ranlib
sudo ln -s /usr/bin/arm-linux-gnueabi-cpp-4.7 /usr/bin/arm-linux-gnueabi-cpp
sudo ln -s /usr/bin/arm-linux-gnueabi-gcov-4.7 /usr/bin/arm-linux-gnueabi-gcov

即把所有尾部有 4.7 版本号的链接为没有的。

1.配置 Kernel

这里使用最常用的versatile_defconfig,具体步骤如下:

cd ~/arm_qemu/kernel
make versatile_defconfig ARCH=arm
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python | Leetcode Python题解之第371题两整数之和
  • import tensorflow报错TypeError: unhashable type: ‘list‘
  • 重生奇迹MU 冲锋在前近战职业
  • ubuntu安装虚拟环境(tensorflow、torch)
  • JPA外键映射注解导致的性能问题
  • 一款专为内网办公环境设计的操作系统,集成了Word、Excel、PPT、PDF编辑器,内网聊天、白板、思维导图等多款办公工具(附源码)
  • 网络通信粘包问题
  • 手机游玩植物大战僵尸杂交版V2.3.7最新版教程(文章末尾免费直接下载链接)
  • 【CAN总线测试】——CAN物理层测试
  • 尚品汇-购物车列表、临时用户购物车与登录用户购物车合并实现(三十七)
  • C#实现数据采集系统-数据反写(3)ModbusTcp写入数据模块开发
  • 2024世界机器人大会盛大开幕,卓翼飞思携无人智能领域产品集中亮相 !
  • Otterctf 2018 内存取证 (复现)
  • Redis持久化RDB/AOF
  • linux和docker部署基本的命令掌握
  • 【Amaple教程】5. 插件
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • co.js - 让异步代码同步化
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • hadoop集群管理系统搭建规划说明
  • laravel with 查询列表限制条数
  • npx命令介绍
  • PHP 小技巧
  • PHP变量
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • web标准化(下)
  • XML已死 ?
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 将回调地狱按在地上摩擦的Promise
  • 利用jquery编写加法运算验证码
  • 如何使用 JavaScript 解析 URL
  • 提醒我喝水chrome插件开发指南
  • 译有关态射的一切
  • 由插件封装引出的一丢丢思考
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 通过调用文摘列表API获取文摘
  • ## 基础知识
  • #职场发展#其他
  • (10)STL算法之搜索(二) 二分查找
  • (11)MATLAB PCA+SVM 人脸识别
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (PADS学习)第二章:原理图绘制 第一部分
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (算法二)滑动窗口
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)Mysql的优化设置
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复