当前位置:网站首页>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
边栏推荐
- China 1,4-cyclohexanedimethanol (CHDM) industry research and investment decision-making report (2022 Edition)
- GPS from getting started to giving up (XIII), receiver autonomous integrity monitoring (RAIM)
- Unity3d minigame-unity-webgl-transform插件转换微信小游戏报错To use dlopen, you need to use Emscripten‘s...问题
- i.mx6ull搭建boa服务器详解及其中遇到的一些问题
- Common sense: what is "preservation" in insurance?
- [10:00 public class]: basis and practice of video quality evaluation
- Force deduction question 500, keyboard line, JS implementation
- Unity3d Learning Notes 6 - GPU instantiation (1)
- 硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
- GPS from entry to abandonment (XIV), ionospheric delay
猜你喜欢
HDR image reconstruction from a single exposure using deep CNN reading notes
Seata aggregates at, TCC, Saga and XA transaction modes to create a one-stop distributed transaction solution
C # réalise la liaison des données du rapport Crystal et l'impression du Code à barres 4
HDR image reconstruction from a single exposure using deep CNNs阅读札记
[Digital IC hand tearing code] Verilog burr free clock switching circuit | topic | principle | design | simulation
GPS from entry to abandonment (XVII), tropospheric delay
[线性代数] 1.3 n阶行列式
Xiaoman network model & http1-http2 & browser cache
PVL EDI 项目案例
Chapter 3: detailed explanation of class loading process (class life cycle)
随机推荐
MariaDb数据库管理系统的学习(一)安装示意图
GPS from getting started to giving up (XI), differential GPS
Adjustable DC power supply based on LM317
Shortcut keys in the terminal
What a new company needs to practice and pay attention to
Solve project cross domain problems
[线性代数] 1.3 n阶行列式
VIP case introduction and in-depth analysis of brokerage XX system node exceptions
基於 QEMUv8 搭建 OP-TEE 開發環境
MariaDB database management system learning (I) installation diagram
HDU 2008 数字统计
HDR image reconstruction from a single exposure using deep CNN reading notes
3DMAX assign face map
GPS du début à l'abandon (XIII), surveillance autonome de l'intégrité du récepteur (raim)
Memorabilia of domestic database in June 2022 - ink Sky Wheel
GPS从入门到放弃(十七) 、对流层延时
Leetcode question brushing (XI) -- sequential questions brushing 51 to 55
12、 Start process
AI 企业多云存储架构实践 | 深势科技分享
Write a rotation verification code annotation gadget with aardio