当前位置:网站首页>基于 QEMUv8 搭建 OP-TEE 开发环境
基于 QEMUv8 搭建 OP-TEE 开发环境
2022-07-06 14:25:00 【stone8761】
开发环境:Ubuntu 22.04 desktop 虚拟机
1、环境需求
$ sudo dpkg --add-architecture i386 $ sudo apt-get update
$ sudo apt-get install android-tools-adb android-tools-fastboot autoconf automake bc bison build-essential ccache codespell cpio cscope curl device-tree-compiler expect flex ftp-upload gdisk iasl libattr1-dev libcap-dev libcap-ng-dev libfdt-dev libftdi-dev libglib2.0-dev libgmp-dev libhidapi-dev libmpc-dev libncurses5-dev libpixman-1-dev libssl-dev libtool make mtools netcat ninja-build python-crypto python3-crypto python-pyelftools python3-pycryptodome python3-pyelftools rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev
2、安装 repo
$ mkdir ~/bin
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
更改 repo 获取源,在 /etc/profile 文件最后添加如下内容,然后重启系统
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
3、获取 OP-TEE 代码
$ mkdir OP-TEE
$ cd OP-TEE/
$ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml
$ repo sync -j4 --no-clone-bundle
备注1:提示 “Failed to connect to boringssl.googlesource.com port 443: Connection timed out” 错误是因为相关网址无法访问,可使用如下命令替换网址源:
$ git config --global url."https://github.com/google/boringssl.git".insteadOf "https://boringssl.googlesource.com/boringssl"
$ git config --global url."https://hub.fastgit.org/google/boringssl.git".insteadOf "https://boringssl.googlesource.com/boringssl"
备注2:sync 操作会因为 github 链接失败而报错,报错后重新执行即可。但 sync 每次都会更新所有库,只要有一个库链接失败都会报错,但可能这个库已经下载完成了。因此可以查看对应的 manifest 文件,检查是不是所有库都已经下载完成。如果都已经下载完成即可以进入到下一步骤。manifest.xml 文件在 .repo 目录下。
4、编译
$ cd ./build
$ make -j2 toolchains
$ make -j `nproc`
5、运行 qemu
依然在 build/ 目录下
$ make run
正确运行后会弹出两个虚拟的串口终端,其中端口号为 54320 的是非安全系统,端口号为 54321 的为安全系统:
进入 qemu 终端后输入 c 启动系统:
(qemu) c
非安全系统(Linux)可以通过 root 用户登录
安全系统:
备注1:运行过程中可能会报 python 命令找不到的错误,但是 ubuntu 下已经安装了 python。这是因为名称问题,安装的是 python2 和 python3,这里可以创建一条链接解决问题:
$ sudo ln -s /usr/bin/python3 /usr/bin/python
备注2:第一次执行 make run 会编译相关组件再运行 qemu,之后可以直接运行 make run-only 直接运行。
6、运行测试程序
使用 ps 命令检查 tee-supplicant 进程是否存在
运行 xtest 测试例程
$ xtest
边栏推荐
- MariaDB database management system learning (I) installation diagram
- 功能强大的国产Api管理工具
- Oracle-控制文件及日志文件的管理
- Management background --2 Classification list
- LeetCode刷题(十一)——顺序刷题51至55
- 二叉(搜索)树的最近公共祖先 ●●
- 数据处理技巧(7):MATLAB 读取数字字符串混杂的文本文件txt中的数据
- C # realizes crystal report binding data and printing 4-bar code
- HDU 2008 digital statistics
- Assembly and Interface Technology Experiment 6 - ADDA conversion experiment, AD acquisition system in interrupt mode
猜你喜欢
Hardware development notes (10): basic process of hardware development, making a USB to RS232 module (9): create ch340g/max232 package library sop-16 and associate principle primitive devices
Adjustable DC power supply based on LM317
Write a rotation verification code annotation gadget with aardio
ResNet-RS:谷歌领衔调优ResNet,性能全面超越EfficientNet系列 | 2021 arxiv
Management background --3, modify classification
硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
Bat script learning (I)
[leetcode daily clock in] 1020 Number of enclaves
第4章:再谈类的加载器
2022年6月国产数据库大事记-墨天轮
随机推荐
Wechat red envelope cover applet source code - background independent version - source code with evaluation points function
Management background --3, modify classification
重磅新闻 | Softing FG-200获得中国3C防爆认证 为客户现场测试提供安全保障
3DMax指定面贴图
[MySQL] online DDL details
数据处理技巧(7):MATLAB 读取数字字符串混杂的文本文件txt中的数据
GPS from getting started to giving up (19), precise ephemeris (SP3 format)
Powerful domestic API management tool
Oracle control file and log file management
HDU 2008 数字统计
What is the difference between animators and animators- What is the difference between an Animator and an Animation?
图像的spatial domain 和 frequency domain 图像压缩
【数字IC手撕代码】Verilog无毛刺时钟切换电路|题目|原理|设计|仿真
Some problems about the use of char[] array assignment through scanf..
小满网络模型&http1-http2 &浏览器缓存
Qt | UDP广播通信、简单使用案例
GNN, please deepen your network layer~
[linear algebra] determinant of order 1.3 n
经纪xx系统节点VIP案例介绍和深入分析异常
GPS from getting started to giving up (XI), differential GPS