一、安装依赖库
创建一个文件夹,存放optee相关代码
mkdir optee.v8
安装依赖库
sudo dpkg --add-architecture i386
sudo apt install gcc make vim git expect build-essential linux-headers-uname -r
sudo 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 make mtools \
netcat unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev zlib* libz1:i386
二、GIT配置
sudo git config --global user.email "you@example.com"
sudo git config --global user.name "Your Name"
三、安装REPO
sudo curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
sudo chmod +x repo
四、从GITHUB中拉去OPTEE代码的命令
sudo wget https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
sudo chmod 777 git-repo
sudo mv git-repo /usr/bin/repo
sudo 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
sudo sed -i "s/.git//g" .repo/manifest.xml //注意这里的双引号请改成英文的
sudo repo sync -j4
问题
可以尝试
sudo apt-get install python-is-python3
或者
whereis python3
sudo ln -s /usr/bin/python3 /usr/bin/python
五、安装工具链
cd build
sudo make -f toolchain.mk toolchains
注意, 由于网速原因工具链下载可能会失败,对策:
使用浏览器打开下面的网页,鼠标点击下载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的上一层目录创建)
sudo mkdir toolchains
cd toolchains
sudo mkdir aarch32
sudo mkdir aarch64
sudo tar -xvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C aarch32 --strip-components=1
sudo tar -xvf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz -C aarch64 --strip-components=1
然后删除build/toolchain.mk中的下面的行
curl -s -L $(2) -o $(TOOLCHAIN_ROOT)/$(3).tar.xz;
最后,再次敲击(并没有做什么操作)
make -f toolchain.mk toolchains
六、编译OPTEE
sudo make -f qemu_v8.mk all
sudo vim /usr/bin/optee.v8/qemu/scripts/tracetool/__init__.py
将is 改为 ==
问题二:安装Crypto
sudo pip install pycrypto
问题三:安装elftools
sudo pip install pyelftools
问题四:安装Cryptodome
sudo pip install pycryptodomex
问题五:qemu不支持python3.x,只支持python2.6及之后版本
前面步骤四拉取optee源码时,将python软连接改为python3
sudo ln -s /usr/bin/python3 /usr/bin/python
现在需要改回python2
sudo install python-is-python2
问题六:不应使用root权限
sudo make FORCE_UNSAFE_CONFIGURE=1 -j1 V=s
七、运行optee
sudo make -f qemu_v8.mk run-only
在qemu窗口输入c
在normal登录用户root 或者 test
搭建完毕.
版权声明:本文为qq_24573573原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。