目录

  • 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的环境搭建篇相关推荐

  1. optee3.14 qemu_v8的环境搭建篇(ubuntu20.04)--镜像方式-直接使用

    快速链接: .

  2. optee3.8 qemu_v8的环境搭建篇(ubuntu20.04)

    快速链接: .

  3. optee3.16.0 qemu_v8的环境搭建篇(ubuntu20.10)

    快速链接: .

  4. optee3.14.0 qemu_v8的环境搭建篇

    快速链接: .

  5. optee3.14.0 qemu_v8的环境搭建篇(ubuntu20.10)--终极篇

    快速链接: .

  6. optee3.12.0 qemu_v8的环境搭建篇(ubuntu20.04)

    快速链接: .

  7. esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇

    本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...

  8. 树莓派4B爽上流安装python3的OpenCV(人脸检测识别—门禁“环境搭建篇”)

    树莓派4B安装OpenCV3.4.0人脸检测识别-门禁"环境搭建篇" 前言 一.准备工作 PC端软件 二.搭建树莓派环境 拓展TF内存卡 Tips:换源(python软件源) 修改 ...

  9. CRAB快速开发平台学习教程《一》:环境搭建篇

    智能时代,软硬更新,实在太快.从最开始的只有少量外设资源的8051,到现在资源丰富性能超群的ARM,才经历短短十几二十年功夫.软件的功能也越来越多,代码量也越来越庞大,简易而快速开发的方式,貌似离我们 ...

最新文章

  1. MDK编译后生成bin文件占用FLASH大小说明
  2. 2.2.3 动量梯度下降法
  3. python tcp协议加代理_python实现简单的TCP代理服务器
  4. 模拟人生4修身拉德兰连衣裙MOD下载
  5. 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控
  6. 《JAVA与模式》之桥梁模式
  7. Spring Boot和Angular 2入门食谱
  8. 【游戏开发】C 游戏编程实例
  9. redis在java中的方法_redis在java中的使用方法
  10. opencv中cvSetCaptureProperty定位不准的原因及解决(转载)
  11. 【经验分享】h3c模拟器HCL安装问题集锦
  12. install4j Enterprise Edition序列号
  13. 超好用的自动化测试工具——Python脚本
  14. 随机森林回归预测_jupyter notebook
  15. python合成gif动图_把多图片合成GIF动图的python实现方法
  16. 张朝阳对话俞敏洪:谈宇宙、谈焦虑、谈创业、谈退休、谈人生
  17. 小小登录,大大讲究!你的登录功能都做到位了吗?
  18. 微信小程序大全之100荐(701~800)
  19. Enhanced ShockBurst (ESB)原文翻译
  20. ios html加载css样式,iOS加载HTML, CSS代码

热门文章

  1. 运维工程师必备技能:网络排错
  2. java调用百度搜索_Java爬虫怎么调用百度搜索引擎,对关键字的网页爬取?
  3. AI:2020年6月北京智源大会演讲视频回放集合——分享博主体会与总结
  4. ML之回归预测:利用FSR/RiR/BasisExpand/ Lasso/DT/RF/GB算法对红酒品质wine数据集实现红酒口感评分预测(实数值评分预测)
  5. 成功解决cv2.error: C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215) s
  6. docker-elk装IK自定义分词库
  7. 问题 B: C语言11.2
  8. 最长公共子序列问题LCS
  9. 【转】centos安装vim7.4
  10. Gitorious安装与配置