从安装ubuntu 20.04虚拟机开始搭建基于QEMU Armv8-A的OP-TEE运行环境

本文的目的在于记录从安装ubuntu 20.04虚拟机开始搭建基于QEMU Armv8-A的OP-TEE运行环境所执行的操作,参考的官方文档链接如下:

QEMU v7 — OP-TEE documentation documentation

官方的执行脚本很简洁,如下所示:

$ mkdir optee
$ cd optee
$ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml
$ repo sync
$ cd build
$ make toolchains
$ make run

基于此,本文的主要内容是在说明如何从安装ubuntu操作系统开始,逐步建立使上述命令可以成功运行的环境。

本文解决遇到的问题时也参考了网上多篇相关文章,这些文章所述和本文实际遇到的问题现象也不尽相同,主要参考的一篇文章链接如下:

【OP-TEE 3.8.0学习】001_运行环境的搭建及编译_optee编译没有文件或目录-CSDN博客

1、安装ubuntu 20.04虚拟机

本文直接从官方网站下载iso安装文件,用于虚拟机安装,下载链接如下:

https://releases.ubuntu.com/20.04/ubuntu-20.04.6-desktop-amd64.iso

本文的虚拟机软件是vmware,选择下载的iso安装文件,建立新的虚拟机,需要注意的是需要保证新建虚拟机的容量设置足够,默认配置是20G,本文设置是64G。

虚拟机安装刚完成时,software update center还会自动更新软件,这个过程要等它完成,同时执行以下操作命令保证必要的软件的安装和更新:

sudo apt install \
  android-tools-adb \
  android-tools-fastboot \
  autoconf \
  automake \
  bc \
  bison \
  build-essential \
  ccache \
  cscope \
  curl \
  device-tree-compiler \
  expect \
  flex \
  ftp-upload \
  gdisk \
  iasl \
  libattr1-dev \
  libcap-dev \
  libfdt-dev \
  libftdi-dev \
  libglib2.0-dev \
  libgmp3-dev \
  libhidapi-dev \
  libmpc-dev \
  libncurses5-dev \
  libpixman-1-dev \
  libssl-dev \
  libtool \
  make \
  mtools \
  netcat \
  ninja-build \
  python3-crypto \
  python3-cryptography \
  python3-pip \
  python3-pyelftools \
  python3-serial \
  rsync \
  unzip \
  uuid-dev \
  xdg-utils \
  xterm \
  xz-utils \
  zlib1g-dev

以上命令执行成功后,用于执于OP-TEE的ubuntu 20.04虚拟机环境就准备完成了。

2、安装和准备repo

官方文档的命令的核心部分就是使用repo下载和管理相关的代码和编译运行环境,通过使用repo,官方的文档提供的命令流也相当简单。

repo工具可以认为是调用git工具的python脚本集合,把复杂的git操作简单化。安装repo之前,首先安装和准备git和python,执行以下操作:

2.1、安装和准备git和python3

安装git:

sudo apt-get install git

配置git:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

安装python3:

sudo apt-get install python3

找到python3的安装位置:

whereis python3

在这里实际可能找到python3的其它版本,本文操作会找到更新的python3.8,无论是将/usr/bin/python3.8还是将/usr/bin/python3指向/usr/bin/python,实测都无区别。

找到要使用的python3后,将要python3执行链接指向默认链接:

sudo ln -s /usr/bin/python3 /usr/bin/python

安装python加密库:

sudo pip3 install pycrypto
sudo pip3 install pycryptodomex

2.2、安装和准备repo

这里参考网上的做法采用清华的镜像地址来安装repo,执行以下命令:

wget https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
sudo chmod 777 git-repo
sudo mv git-repo /usr/bin/repo

OP-TEE的repo配置初始化,执行以下命令:

mkdir optee
cd optee
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

以上命令执行成功后,在optee目录下,OP-TEE代码环境的repo配置初始化也完成了。

3、下载,编译运行OP-TEE

根据官方文档,依次执行以下命令就可以:

repo sync
cd build
make toolchains
make run

本节的命令是耗时较长的操作,保持能够访问github的网络环境是最重要的,本节的命令出错可以反复执行。

本文的操作中,在执行make run的过程中报错,查询是下载的python测试脚本仍然是python2的版本,和系统现有python3不兼容,执行以下操作:​​​​​​​

sudo apt-get install python2
sudo ln -f /usr/bin/python2.7 /usr/bin/python

完成上述操作后,重新执行make run,编译成功。

最后一条命令执行成功后,会出现qemu模拟器,在qemu命令行下,按c然后回车,OP-TEE将会运行。在REE环境下输入root,即可在命令行下直接运行xtest测试用例。退出后,重新进入,在optee目录下运行make run-only。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值