当前位置:网站首页>Build op-tee development environment based on qemuv8
Build op-tee development environment based on qemuv8
2022-07-06 22:20:00 【stone8761】
development environment :Ubuntu 22.04 desktop virtual machine
1、 Environmental requirements
$ 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、 install 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
change repo Get source , stay /etc/profile At the end of the document, add the following , Then restart the system
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
3、 obtain OP-TEE Code
$ 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
remarks 1: Tips “Failed to connect to boringssl.googlesource.com port 443: Connection timed out” The error is because the relevant website cannot be accessed , You can use the following command to replace the URL source :
$ 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"
remarks 2:sync The operation will be because github Link failure and error , Re execute after reporting an error . but sync All libraries will be updated every time , As long as one library link fails, an error will be reported , But maybe the library has been downloaded . Therefore, you can view the corresponding manifest file , Check whether all libraries have been downloaded . If you have finished downloading, you can go to the next step .manifest.xml The file in .repo Under the table of contents .
4、 compile
$ cd ./build
$ make -j2 toolchains
$ make -j `nproc`
5、 function qemu
Still in build/ Under the table of contents
$ make run
After correct operation, two virtual serial port terminals will pop up , The port number is 54320 It's an unsafe system , The port number is 54321 For the security system :
Get into qemu Input after the terminal c Start the system :
(qemu) c
Non safety system (Linux) Can pass root The user login
Security system :
remarks 1: During operation, it may report python Command not found error , however ubuntu It has been installed python. This is because of the name , Installation is python2 and python3, Here you can create a link to solve the problem :
$ sudo ln -s /usr/bin/python3 /usr/bin/python
remarks 2: First execution make run Will compile relevant components and then run qemu, Then you can run directly make run-only Direct operation .
6、 Run the test program
Use ps Command check tee-supplicant Whether the process exists
function xtest Test routine
$ xtest
边栏推荐
- Assembly and Interface Technology Experiment 6 - ADDA conversion experiment, AD acquisition system in interrupt mode
- GPS from getting started to giving up (XX), antenna offset
- labelimg的安装与使用
- 3DMAX assign face map
- RESNET rs: Google takes the lead in tuning RESNET, and its performance comprehensively surpasses efficientnet series | 2021 arXiv
- Codeforces Round #274 (Div. 2) –A Expression
- GPS从入门到放弃(十二)、 多普勒定速
- [Digital IC hand tearing code] Verilog burr free clock switching circuit | topic | principle | design | simulation
- 中国1,4-环己烷二甲醇(CHDM)行业调研与投资决策报告(2022版)
- 微信红包封面小程序源码-后台独立版-带测评积分功能源码
猜你喜欢
Search element topic (DFS)
Management background --4, delete classification
GPS from getting started to giving up (XIII), receiver autonomous integrity monitoring (RAIM)
二分图判定
HDR image reconstruction from a single exposure using deep CNNs阅读札记
zabbix 代理服务器 与 zabbix-snmp 监控
Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案
0 basic learning C language - digital tube
GPS从入门到放弃(十五)、DCB差分码偏差
【数字IC手撕代码】Verilog无毛刺时钟切换电路|题目|原理|设计|仿真
随机推荐
MongoDB(三)——CRUD
Oracle control file and log file management
NetXpert XG2帮您解决“布线安装与维护”难题
C # realizes crystal report binding data and printing 4-bar code
0 basic learning C language - interrupt
Chapter 3: detailed explanation of class loading process (class life cycle)
Attack and defense world miscall
Barcodex (ActiveX print control) v5.3.0.80 free version
[MySQL] online DDL details
【10点公开课】:视频质量评价基础与实践
anaconda安装第三方包
插入排序与希尔排序
GPS从入门到放弃(十三)、接收机自主完好性监测(RAIM)
Common sense: what is "preservation" in insurance?
Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案
Some problems about the use of char[] array assignment through scanf..
What is the difference between animators and animators- What is the difference between an Animator and an Animation?
GPS从入门到放弃(十二)、 多普勒定速
GPS from entry to abandonment (XIV), ionospheric delay
CCNA-思科网络 EIGRP协议