ubuntu14.04 編譯OPTEE for 樹莓派

ubuntu 14.04
內(nèi)核版本4.4.0-31唬血,閑話兩句
不知道是不是因為墻的問題率碾,嘗試了不同的ubuntu16/18版本+optee版本童叠,最后使用ubuntu14+optee3.1才第一次跑通能扒,各種缺文件,自行測試最新版吧
virtual-machine:~$ uname -a
Linux ... chine 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ sudo apt-get install vim curl git -y

# 修改源 可選
$ vim /etc/apt/sources.list
# 玄學(xué)參考:使用的**自帶源** 然后設(shè)置終端的代理

-------
$ sudo apt-get clean && sudo apt-get update && sudo apt-get upgrade -y
$ vim ~/.bashrc

# 這里使用的是宿主機(MACOS)的SSR 
------
alias proxy="export ALL_PROXY=socks5://x.x.x.x:1086"
alias unproxy="unset ALL_PROXY"
alias checkip="curl myip.ipip.net"
------
$ source ~/.bashrc
# checkip檢查是否出Q
# 玄學(xué)參考:SSR設(shè)置成全局模式

配置

# optee 3.1 版
$ sudo apt-get install git android-tools-adb android-tools-fastboot autoconf automake bc bison build-essential cscope curl flex ftp-upload gdisk 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 libz1:i386 make mtools netcat python-crypto python-serial python-wand unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev ccache minicom -y
# 最新版是這些
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 libc6:i386 libcap-dev libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev libpixman-1-dev libssl-dev libstdc++6:i386 libtool libz1:i386 make mtools netcat python-pyelftools python3-pyelftools python-crypto python3-crypto python-serial python3-serial rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev -y

# 安裝repo
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ cd ~/bin
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
$ chmod a+x repo
$ git config --global user.name "yourname"
$ git config --global user.email "youremail"

Sync and make

$ mkdir -p $HOME/devel/optee
$ cd $HOME/devel/optee
$ repo init -u https://github.com/OP-TEE/manifest.git -m rpi3.xml -b 3.1.0 
# --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
# 可選剥险,init失敗時加到3.1.0 后面
$ repo sync

$ cd build
$ make toolchains

$ make

可選:下載toolchains失敗時

$ gedit /optee/build/toolchain.mk
# 粗看一下很好理解,組合成下載URL手動下載宪肖,然后解壓
# https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/${AARCH32_GCC_VERSION}.tar.xz
# gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf替代${AARCH32_GCC_VERSION}就是文件路徑
$ mkdir -p aarch32 && mkdir -p xxx && mkdir -p xxx ... # AARCH32_PATH中的文件夾名稱
$ tar xf xxx.tar.xz -C aarch32xxx --strip-components=1; &&  tar xf ...

常見錯誤

xz: (stdin): Unexpected end of input tar: Unexpected EOF in archive tar: Unexpected EOF in archive tar: Error is not recoverable: exiting now toolchain.mk:39: recipe for target 'aarch64' failed make: *** [aarch64] Error 2
# 由于make toolchains下載失敗表制,上面方法手動下載就行

#先安裝pycryptodomex
----------------
ImportError: No module named 'Cryptodome'
ta/arch/arm/link.mk:100: recipe for target 'out/arm/ta/avb/023f8f1a-292a-432b-8fc4-de8471358067.ta' failed
make[1]: *** [out/arm/ta/avb/023f8f1a-292a-432b-8fc4-de8471358067.ta] Error 1
make[1]: Leaving directory '/home/osboxes/devel/optee/optee_os'
common.mk:380: recipe for target 'optee-os-common' failed
make: *** [optee-os-common] Error 2
---------------
$ sudo apt-get install pip3
$ pip3 install pycryptodomex

error.GitError: Cannot initialize work tree for u-boot/u-boot.git

"make[1]: *** [out/arm/core/ldelf_hex.c] Error 1"

bash: line 1: scripts/kconfig/merge_config.sh: No such file or directory

# 這些貌似都是缺失文件,需要重新同步整個項目

樹莓派

# 查看TF卡所在的盤符
$ sudo fdisk -l
# 查看下是否已經(jīng)自動掛載
$ df -hl
# 彈出TF卡所在的盤符
$ umount /dev/sdx1
# 格式化后的SD卡會是/dev/sdx, sdx1這種先格式化一下

$ make img-help 
#會根據(jù)當(dāng)前環(huán)境的變更控乾,直接復(fù)制運行

$ fdisk /dev/sdx   # where sdx is the name of your sd-card
p             # prints partition table
d             # repeat until all partitions are deleted
n             # create a new partition
p             # create primary
1             # make it the first partition
<enter>       # use the default sector
+32M          # create a boot partition with 32MB of space
n             # create rootfs partition
p
2
<enter>
<enter>       # fill the remaining disk, adjust size to fit your needs
t             # change partition type
1             # select first partition
e             # use type 'e' (FAT16)
a             # make partition bootable
1             # select first partition
p             # double check everything looks right
w             # write partition table to disk.
# 上面的順序操作么介,最后會有一個sdx1和sdx2,sdx1p1這種先格

run the following as root
    mkfs.vfat -F16 -n BOOT /dev/sdx1
    mkdir -p /media/boot
    mount /dev/sdx1 /media/boot
    cd /media
    gunzip -cd /home/hiro/devel/optee/build/../gen_rootfs/filesystem.cpio.gz | sudo cpio -idmv "boot/*"
    umount boot

run the following as root
    mkfs.ext4 -L rootfs /dev/sdx2
    mkdir -p /media/rootfs
    mount /dev/sdx2 /media/rootfs
    cd rootfs
    gunzip -cd /home/hiro/devel/optee/build/../gen_rootfs/filesystem.cpio.gz | sudo cpio -idmv
    rm -rf /media/rootfs/boot/*
   $ cd .. && umount rootfs
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜕衡,一起剝皮案震驚了整個濱河市壤短,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌慨仿,老刑警劉巖久脯,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異镰吆,居然都是意外死亡帘撰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門万皿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摧找,“玉大人,你說我怎么就攤上這事相寇∥坑冢” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵唤衫,是天一觀的道長婆赠。 經(jīng)常有香客問我,道長佳励,這世上最難降的妖魔是什么休里? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮赃承,結(jié)果婚禮上妙黍,老公的妹妹穿的比我還像新娘。我一直安慰自己瞧剖,他們只是感情好拭嫁,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布可免。 她就那樣靜靜地躺著,像睡著了一般做粤。 火紅的嫁衣襯著肌膚如雪浇借。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天怕品,我揣著相機與錄音妇垢,去河邊找鬼。 笑死肉康,一個胖子當(dāng)著我的面吹牛闯估,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吼和,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼涨薪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纹安?” 一聲冷哼從身側(cè)響起尤辱,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厢岂,沒想到半個月后光督,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡塔粒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年结借,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卒茬。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡船老,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出圃酵,到底是詐尸還是另有隱情柳畔,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布郭赐,位于F島的核電站薪韩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捌锭。R本人自食惡果不足惜俘陷,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望观谦。 院中可真熱鬧拉盾,春花似錦、人聲如沸豁状。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夭禽,卻和暖如春屎暇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驻粟。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凶异,地道東北人蜀撑。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像剩彬,于是被迫代替她去往敵國和親酷麦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容