optee3.8 qemu_v8的环境搭建篇
目录
- 1、环境准备
- 2、拉取代码
- 3、下载toolchains
- 4、换掉qemu
- 5、编译和运行
- 6、模拟器运行optee
- 7、小知识:
★★★ 友情链接 : 个人博客导读首页—点击此处 ★★★
1、环境准备
sudo apt-get install git //git
sudo apt-get install phablet-tools //reposudo apt-get install android-tools-adb android-tools-fastboot autoconf \automake bc bison build-essential cscope curl device-tree-compiler \expect flex ftp-upload gdisk iasl libattr1-dev libc6:i386 libcap-dev \libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev \libpixman-1-dev libssl-dev libstdc++6:i386 libtool libz1:i386 make \mtools netcat python-crypto python-serial python-wand unzip uuid-dev \xdg-utils xterm xz-utils zlib1g-dev
2、拉取代码
(1)、先拉mainifest
repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -b 3.8.0
(2)、修改mainifest
sed -i "s/.git//g" .repo/manifest.xml
(3)、替换repo
wget https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
chmod 777 git-repo
sudo mv git-repo /usr/bin/repo
(4)、开始拖代码拉
repo sync -j4
3、下载toolchains
cd build
make -f toolchain.mk toolchains
该命令的实现,其实就是下载aarch32和aarch64的交叉编译工具链,您是不是发现下载很慢? 下载了一天一夜都没下载完毕?
莫着急,我们有三种方法解决这个问题(推荐(1)和(2)都行)
(1)、打开toolchain.mk文件,将如下的两个变量,改成我这里缩写的地址,应该就会变得很快了
SRC_AARCH32_GCC ?= https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/8.3-2019.03/binrel/${AARCH32_GCC_VERSION}.tar.xz
SRC_AARCH64_GCC ?= https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/8.3-2019.03/binrel/${AARCH64_GCC_VERSION}.tar.xz
(2)、使用浏览器打开下面的网页,鼠标点击下载gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz和gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads/8-3-2019-03
下载完毕后,拷贝到toolchains目录下, 然后再修改build目录下的toolchain.mk,将如下下载的语句删除:
curl -s -L $(2) -o $(TOOLCHAIN_ROOT)/$(3).tar.xz; \
这种方法也是非常快!
(3)、修改toolchain.mk如下,主要思想,直接下载替换linaro官网的gcc,然后解压安装。 这种方法有一丁点问题,在该官网上的gcc不够最新,在后续编译时,可能会遇到问题
define get_aarch64_gccmkdir -p $(AARCH64_PATH)cd $(AARCH64_PATH)wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xztar xf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz -C $(AARCH64_PATH) --strip-components=1cd -
endef.PHONY: aarch64
aarch64:$(call get_aarch64_gcc)
4、换掉qemu
下载qemu-2.11.0并编译和安装
wget https://download.qemu.org/qemu-2.11.0.tar.xz
tar xvJf qemu-2.11.0.tar.xz
cd qemu-2.11.0
./configure –-target-list=aarch64-softmmu
./configure --disable-git-update"
make
sudo make install
并打开build/qemu_v8.mk文件,修改掉qemu的路径
vim qemu_v8.mk
# QEMU_PATH ?= $(ROOT)/qemu
QEMU_PATH ?= $(ROOT)/qemu-2.11.0
5、编译和运行
编译很简单了,在build目录下敲击 : make -f qemu_v8.mk all -j8
完成编译,当然了,你可能会遇到一系列的问题,遇到问题解决问题好了,在这边列举两个:
(1)、python3需升级至3.6极其以上版本
升级方法 : https://blog.csdn.net/kouyi5627/article/details/88319129
(2)、编译报错,提示: No module named ‘Cryptodome’, 安装如下两个库
sudo pip3 install pycryptodomex
sudo pip3 install pycrypto
6、模拟器运行optee
make -f qemu_v8.mk run-only
在qemu界面中输入字母“c”回车之后,就会启动两个terminal,一个是OP-TEE的terminal,另外一个是linux的terminal
7、小知识:
如果要安装glib模块
wget http://ftp.gnome.org/pub/gnome/sources/glib/2.48/glib-2.48.0.tar.xz
tar xvJf glib-2.48.0.tar.xz
cd glib-2.48.0
./configure
make –j8 & sudo make install
关闭git update和打开git update
./configure --with-git='tsocks git'
./configure --disable-git-update
optee3.8 qemu_v8的环境搭建篇相关推荐
- optee3.14 qemu_v8的环境搭建篇(ubuntu20.04)--镜像方式-直接使用
快速链接: .
- optee3.8 qemu_v8的环境搭建篇(ubuntu20.04)
快速链接: .
- optee3.16.0 qemu_v8的环境搭建篇(ubuntu20.10)
快速链接: .
- optee3.14.0 qemu_v8的环境搭建篇
快速链接: .
- optee3.14.0 qemu_v8的环境搭建篇(ubuntu20.10)--终极篇
快速链接: .
- optee3.12.0 qemu_v8的环境搭建篇(ubuntu20.04)
快速链接: .
- esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇
本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...
- 树莓派4B爽上流安装python3的OpenCV(人脸检测识别—门禁“环境搭建篇”)
树莓派4B安装OpenCV3.4.0人脸检测识别-门禁"环境搭建篇" 前言 一.准备工作 PC端软件 二.搭建树莓派环境 拓展TF内存卡 Tips:换源(python软件源) 修改 ...
- CRAB快速开发平台学习教程《一》:环境搭建篇
智能时代,软硬更新,实在太快.从最开始的只有少量外设资源的8051,到现在资源丰富性能超群的ARM,才经历短短十几二十年功夫.软件的功能也越来越多,代码量也越来越庞大,简易而快速开发的方式,貌似离我们 ...
最新文章
- MDK编译后生成bin文件占用FLASH大小说明
- 2.2.3 动量梯度下降法
- python tcp协议加代理_python实现简单的TCP代理服务器
- 模拟人生4修身拉德兰连衣裙MOD下载
- 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控
- 《JAVA与模式》之桥梁模式
- Spring Boot和Angular 2入门食谱
- 【游戏开发】C 游戏编程实例
- redis在java中的方法_redis在java中的使用方法
- opencv中cvSetCaptureProperty定位不准的原因及解决(转载)
- 【经验分享】h3c模拟器HCL安装问题集锦
- install4j Enterprise Edition序列号
- 超好用的自动化测试工具——Python脚本
- 随机森林回归预测_jupyter notebook
- python合成gif动图_把多图片合成GIF动图的python实现方法
- 张朝阳对话俞敏洪:谈宇宙、谈焦虑、谈创业、谈退休、谈人生
- 小小登录,大大讲究!你的登录功能都做到位了吗?
- 微信小程序大全之100荐(701~800)
- Enhanced ShockBurst (ESB)原文翻译
- ios html加载css样式,iOS加载HTML, CSS代码
热门文章
- 运维工程师必备技能:网络排错
- java调用百度搜索_Java爬虫怎么调用百度搜索引擎,对关键字的网页爬取?
- AI:2020年6月北京智源大会演讲视频回放集合——分享博主体会与总结
- ML之回归预测:利用FSR/RiR/BasisExpand/ Lasso/DT/RF/GB算法对红酒品质wine数据集实现红酒口感评分预测(实数值评分预测)
- 成功解决cv2.error: C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215) s
- docker-elk装IK自定义分词库
- 问题 B: C语言11.2
- 最长公共子序列问题LCS
- 【转】centos安装vim7.4
- Gitorious安装与配置