QEMU imx6ul开发板环境搭建
QEMU imx6ul开发板环境搭建
文章目录
- QEMU imx6ul开发板环境搭建
- 0. 前言
- 1. 基本环境
- 2. 安装KVM
- 3. 下载开发板的QEMU镜像文件
- 4. 运行QEMU系统
- 4.1 安装SDL环境
- 4.2 运行带GUI的imx6ul模拟器
- 4.3 运行不带GUI的imx6ul模拟器
- 5. 编译修改Linux内核
- 5.1 下载内核源码
- 5.2 编译源码
- 5.2.1 配置编译环境(非永久性配置)
- 5.2.2 编译内核
0. 前言
最近在基于韦东山老师的imx6ul开发板学习嵌入式linux内容,在此记录一下自己的操作步骤,更多详细内容请访问百问网QEMU。
在不方便使用开发板直接调试的时候,可以使用韦东山老师提供的QEMU虚拟开发板硬件进行简单调试,非常便捷。
1. 基本环境
- Host:Win10 64bit
- 虚拟机软件:VMware Workstation Pro 15
- 虚拟机系统:ubuntu 18.04 64bit
可以直接下载百问网提供的虚拟机镜像:
- 百问网链接
- 我的网盘链接,提取码:
6dl2
虚拟机登陆密码:
123456
2. 安装KVM
安装KVM可以加速qemu的运行,在ubuntu终端执行以下指令:
sudo apt-get update
sudo apt-get install qemu qemu-kvm libvirt-bin bridge-utils virt-manager
3. 下载开发板的QEMU镜像文件
git clone https://e.coding.net/weidongshan/ubuntu-18.04_imx6ul_qemu_system.git
命令执行完成后,会得到ubuntu-18.04_imx6ul_qemu_system
目录,其结构如下:
4. 运行QEMU系统
进入ubuntu-18.04_imx6ul_qemu_system
目录,执行以下操作。
4.1 安装SDL环境
如果是第一次运行QEMU系统,那么需要安装SDL环境,命令如下:
./install_sdl.sh
安装过程中可能会遇到如下错误提示信息:
dpkg: dependency problems prevent configuration of libxcb-xfixes0-dev:amd64:libxcb-xfixes0-dev:amd64 depends on libxcb-shape0-dev; however:Package libxcb-shape0-dev is not installed.dpkg: error processing package libxcb-xfixes0-dev:amd64 (--install):dependency problems - leaving unconfigureddpkg: dependency problems prevent configuration of libxcb-present-dev:amd64:libxcb-present-dev:amd64 depends on libxcb-xfixes0-dev; however:Package libxcb-xfixes0-dev:amd64 is not configured yet.dpkg: error processing package libxcb-present-dev:amd64 (--install):dependency problems - leaving unconfigureddpkg: dependency problems prevent configuration of libegl1-mesa-dev:amd64:libegl1-mesa-dev:amd64 depends on libxcb-present-dev; however:Package libxcb-present-dev:amd64 is not configured yet.dpkg: error processing package libegl1-mesa-dev:amd64 (--install):dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libgl1-mesa-dev:amd64:libgl1-mesa-dev:amd64 depends on libxcb-present-dev; however:Package libxcb-present-dev:amd64 is not configured yet.dpkg: error processing package libgl1-mesa-dev:amd64 (--install):dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libgles2-mesa-dev:amd64:libgles2-mesa-dev:amd64 depends on libegl1-mesa-dev; however:Package libegl1-mesa-dev:amd64 is not configured yet.dpkg: error processing package libgles2-mesa-dev:amd64 (--install):dependency problems - leaving unconfigured
Setting up libglib2.0-dev-bin (2.56.4-0ubuntu0.18.04.4) ...
dpkg: dependency problems prevent configuration of libglu1-mesa-dev:amd64:libglu1-mesa-dev:amd64 depends on libgl1-mesa-dev | libgl-dev; however:Package libgl1-mesa-dev:amd64 is not configured yet.Package libgl-dev is not installed.Package libgl1-mesa-dev:amd64 which provides libgl-dev is not configured yet.dpkg: error processing package libglu1-mesa-dev:amd64 (--install):dependency problems - leaving unconfiguredErrors were encountered while processing:libxcb-xfixes0-dev:amd64libxcb-present-dev:amd64libegl1-mesa-dev:amd64libgl1-mesa-dev:amd64libgles2-mesa-dev:amd64libglu1-mesa-dev:amd64libsdl2-dev:amd64
可以通过如下指令进行修复:
sudo apt --fix-broken install
4.2 运行带GUI的imx6ul模拟器
./qemu-imx6ull-gui.sh //启动后,登录名是root,不需要密码。
4.3 运行不带GUI的imx6ul模拟器
./qemu-imx6ull-nogui.sh //启动后,登录名是root,不需要密码。
5. 编译修改Linux内核
5.1 下载内核源码
git clone https://e.coding.net/codebug8/repo.git
mkdir -p 100ask_imx6ull-qemu && cd 100ask_imx6ull-qemu
../repo/repo init -u https://e.coding.net/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask-imx6ull_qemu_release_v1.0.xml --no-repo-verify
../repo/repo sync -j4
上述命令执行完成后,会得到100ask_imx6ull-qemu
和repo
两个目录,100ask_imx6ull-qemu
包含了linux-4.9.88
(linux内核源码目录)和ToolChain
(交叉编译工具链目录)。
5.2 编译源码
5.2.1 配置编译环境(非永久性配置)
由于我的ubuntu虚拟机需要用来编译不同的开发板,所以采用如下方式配置编译环境。该方式只对当前终端有效,不会影响其他终端中的开发板源码编译。
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask/100ask_imx6ull-qemu/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
PATH变量的配置需要根据你的ToolChain
所在目录进行修改。
5.2.2 编译内核
编译过程需要lzop工具,因此需要先执行
sudo apt-get install lzop
进行安装,以免编译失败。
cd linux-4.9.88 //进入内核源码目录
make mrproper //完全清除以前的配置
make 100ask_imx6ull_qemu_defconfig //基于开发板信息配置linux内核编译选项
make zImage -jN //编译zImage内核镜像,其中N参数可以根据CPU个数,来加速编译系统。
make dtbs //编译设备树文件
编译完成后,会得到如下文件:
linux-4.9.88/arch/arm/boot/zImage //内核文件
linux-4.9.88/arch/arm/boot/dts/100ask_imx6ull_qemu.dtb //设备树文件
将编译生成的zImage
和100ask_imx6ull_qemu.dtb
替换ubuntu-18.04_imx6ul_qemu_system/imx6ull-system-image/
目录下的zImage
和100ask_imx6ull_qemu.dtb
文件后,执行4.2章节
的qemu-imx6ull-gui.sh
命令即可在QEMU环境下启动新编译的内核和设备树。
QEMU imx6ul开发板环境搭建相关推荐
- 超级便宜的鸿蒙开发板环境搭建-编译-烧录
超级便宜的鸿蒙开发板环境搭建-编译-烧录 1.下载代码.编译工具和烧写工具 打开https://gitee.com/hihopeorg/Neptune-HarmonyOS-IOT下载代码 打开http ...
- 【 RA4M2开发板环境搭建之串口下载1】
[ RA4M2开发板环境搭建1] 1. 前言 1.1 活动来源 1.2 开发环境 1.3 RA4M2开发板 2. MDK环境准备 2.1 keil 5下载安装 2.2 安装RA4M2的软件支持包 2. ...
- (二)海思3519av100开发:开发板环境搭建
海思文档+nfsAxe+SecureCRT 8.1破解版资源网盘链接提取码:pzxg 2 开发板环境设置 本文省去kernel.uboot.文件系统烧写步骤,详见海思文档. 工具:开发板.usb转串口 ...
- atlas200dk开发板环境搭建踩坑
一.安装VMWare12虚拟机 安装包: 安装教程:https://jingyan.baidu.com/article/37bce2beb3c36f1002f3a22d.html 安装完成: 二.在虚 ...
- BearPi_HM Nano开发板环境搭建踩坑
出现的的指令建议直接复制使用 请保证网络状态良好 保持心态良好 我本次开发选择的是本地的实体机加上虚拟机,都是在本地环境,没有使用云服务器部署 如果使用云服务器的话,服务器可能已经配置好了相关的一些云 ...
- Firefly-rk3399 开发板环境搭建
Firefly教程网站:http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/started.html 系统烧录: http://wiki.t-firefly. ...
- RV1109_RV1126 EVB开发板环境搭建及使用总结
目录 1.安装adb 2.安装RKNN-Toolkit工具包 3.在PC上仿真运行示例 4.安装交叉编译工具链
- 基于Qemu搭建imx6l模拟开发板环境+添加驱动+驱动测试
一.Qemu镜像下载 准备环境 vmware ubuntu18.04 git工具 下载镜像文件 root@ubuntu:/home/mf/Desktop# git clone https://e.co ...
- 鸿蒙开发板怎么玩?Neptune开发教程---OpenHarmony开发体验-环境搭建-编译-烧录
目录 鸿蒙开发板(Neptune)开发教程-环境搭建-编译-烧录 Neptune简介 介绍特点 开发板参数 引脚 说明 开发环境搭建 linux编译环境搭建 python环境安装 hpm环境安装 wi ...
最新文章
- Jenkins Mac安装更改用户名
- jQuery——给元素添加父级的方法
- 您应该考虑将应用程序升级到Spring 4的5个理由
- 音频信号发生器_1957年,DIY的Hi-Fi 电唱机单电子管音频发生器的音质保真度高...
- Java为xml跟节点添加子节点_如何将xml节点作为第一个子节点插入Java中的另一个xml文档中?...
- LiteOS基于Sensorhub的超声波模组移植
- javacript Function parameters(函数参数)
- 控件制作之design-time attribute
- 【C语言】03-第一个C程序代码分析
- java 32位_java8update下载
- CAD/CAM技术的现状分析
- 身份证号判断男女和生日
- Vue中导出json【基于file-saver】
- 按键精灵学习如何偷菜示例基本代码
- Unity 实现蓄力攻击
- java语言程序设计-基础篇
- embedded linux arm,Embedded+Linux+For+Arm.ppt
- 机器人教练SWOT分析_水田植保机器人的SWOT分析
- 计算机投标书开题报告,投标书开题报告.doc
- 数控开料机,三工序数控开料机的优点
热门文章
- 宠物小精灵 动态数组题目解析
- 如果不明白该用组合关系还是依赖关系,就来看这一篇!
- 四川省专业技术职称计算机,转发四川省职称改革工作领导小组关于统一专业技术人员全国职称计算机应用能力考试标准有关问题的通知(川职改[[2006]3号)...
- JavaScript 事件委托
- c语言键盘符号大全,求c语言各种符号 并且意义。。在键盘上没有的 如何打?...
- Python爬虫【如何爬取内容(html)和解析内容】
- Ubuntu挂载iso文件和配置apt本地源
- 在线打包app平台以及流程平台分析(AndroidiOS)
- HC-SR505人体红外报警系统
- 莆田家庭教育指导师证在哪报名报考条件是什么