optee3.14.0 qemu_v8的环境搭建篇(ubuntu20.10)--终极篇
快速鏈接:
.
👉👉👉 個人博客筆記導(dǎo)讀目錄(全部) 👈👈👈
文章目錄
- 環(huán)境準(zhǔn)備
- 1、安裝編譯optee的工具
- 2、更新optee代碼
- 3、更新工具鏈
- 4、編譯和運(yùn)行
- 問題解決
環(huán)境準(zhǔn)備
(1)、安裝ubuntu
先安裝一下virtualbox + ubuntu20.10環(huán)境,可參考如下:[HOW TO]-圖解virtualbox下安裝ubuntu20.04虛擬機(jī)
(2)、安裝基礎(chǔ)工具
sudo apt-get install samba-*
sudo apt-get install git make expect vim net-tools python3-pip python2.7* binfmt-support qemu qemu-user-static openssl
注意安裝python2.7后需要創(chuàng)建一個軟連接
cd /usr/bin
sudo ln -sf python2.7 python
(3)、進(jìn)行一些配置
安裝增強(qiáng)功能、共享剪切板、共享拖放、共享worksapce文件夾、網(wǎng)絡(luò)選擇橋接、設(shè)置電源選項(xiàng)不休眠屏幕常亮
(4)、修改終端標(biāo)題欄文字
[How TO]-Ubuntu 20.04修改終端標(biāo)題欄文字
(5)、安裝http服務(wù)
sudo apt-get install apache2
sudo /etc/init.d/apache2 restart
(6)、安裝pulse-secure
sudo apt-get update -y
sudo apt-get install -y libnss3-tools
sudo dpkg -i ps-pulse-linux-9.1r11.5-b9451-64-bit-installer.deb
(7)、安裝repo
wget https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
chmod 777 git-repo
sudo mv git-repo /usr/bin/repo
(8)、配置git
ssh-keygen -t rsa
git config --global user.email “zhhh891010@163.com”
git config --global user.name “baronZhou”
1、安裝編譯optee的工具
sudo apt-get 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 libgmp-dev libhidapi-dev \libmpc-dev libncurses5-dev libpixman-1-dev libssl-dev libtool make \mtools netcat ninja-build python3-crypto \python3-pycryptodome python3-pyelftools python3-serial \rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-devpip3 install ninja
2、更新optee代碼
(1)、repo init
repo init -u git://github.com/OP-TEE/manifest.git -m qemu_v8.xml --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -b 3.14.0repo init后,由于在國內(nèi)訪問https://github.com有限制,為了能夠更快的拉取代碼,我們需要對repositories做一些修改:
(2)、修改manifest
注意一是將https改成git,二是注釋掉兩個repository,因?yàn)檫@兩個倉庫clone不下來,需單獨(dú)敲命令clone
(3)、然后就可以拖取代碼了
repo sync -j4
(4)、克隆atf代碼
git clone --branch v2.5 https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git(4)、克隆edk2代碼
git clone --branch edk2-stable202102 git://github.com/tianocore/edk2.git修改edk2/.gitmodules
(vim .gitmodules)
cd edk2/
git submodule sync
git submodule update --init
3、更新工具鏈
test@test:~/workspace/code/optee_3.14$ mkdir toolchains
test@test:~/workspace/code/optee_3.14$ cd toolchains/
test@test:~/workspace/code/optee_3.14/toolchains$ mkdir aarch32
test@test:~/workspace/code/optee_3.14/toolchains$ mkdir aarch64
下載gcc-arm-10.2-2020.11-aarch64-arm-none-linux-gnueabihf.tar.xz和 gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz 并拷貝到toolchains目錄下
gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf.tar.xz
gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz
tar xf gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf.tar.xz -C aarch32 --strip-components=1
tar xf gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz -C aarch64 --strip-components=1
cd aarch32/bin
for f in $(ls); do ln -s $f ${f//-none} ; done ;
cd -
cd aarch64/bin
for f in $(ls); do ln -s $f ${f//-none} ; done ;
cd -
4、編譯和運(yùn)行
make -f qemu_v8.mk all -j8
make -f qemu_v8.mk run-only
問題解決
1、fatal error: ./brotli/c/common/constants.h: No such file or directory
cd edk2/
git submodule sync
git submodule update --init
2、arm-linux-gnueabihf-gcc failed: Exec format error
ccache: error: execv of /home/test/workspace/code/optee_3.14/build/…/toolchains/aarch32/bin/arm-linux-gnueabihf-gcc failed: Exec format error
sudo apt install binfmt-support qemu qemu-user-static
3、/lib/ld-linux-aarch64.so.1: No such file or directory
/lib/ld-linux-aarch64.so.1: No such file or directory
make[1]: *** [mk/compile.mk:159: out/arm/ta_arm32-lib/libdl/dlfcn.o] Error 255
make[1]: *** Waiting for unfinished jobs…
test@test:~/workspace/code/optee_3.14/toolchains$ find ./ -name ld-linux-aarch64.so.1
./aarch64/aarch64-none-linux-gnu/libc/lib/ld-linux-aarch64.so.1
test@test:~/workspace/code/optee_3.14/toolchains$ sudo cp ./aarch64/aarch64-none-linux-gnu/libc/lib/ld-linux-aarch64.so.1 /lib
4、arm-linux-gnueabihf-gcc: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
test_Ecc_CParser4_CListener (CheckPythonSyntax.Tests) … ok
test_Ecc_CParser4_CParser (CheckPythonSyntax.Tests) … /home/test/workspace/code/optee_3.14/build/…/toolchains/aarch32/bin/arm-linux-gnueabihf-gcc: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
make[1]: *** [mk/compile.mk:159: out/arm/ta_arm32-lib/libdl/dlfcn.o] Error 127
make[1]: *** Waiting for unfinished jobs…
ok
請仔細(xì)對比工具鏈,工具鏈沒選對
歡迎添加微信、微信群,多多交流
總結(jié)
以上是生活随笔為你收集整理的optee3.14.0 qemu_v8的环境搭建篇(ubuntu20.10)--终极篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [HOW TO]-centos环境搭建o
- 下一篇: optee3.14.0 qemu_v8的