ubuntu14.04 编译OPTEE for 树莓派

ubuntu 14.04
内核版本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
# 玄学参考:使用的**自带源** 然后设置终端的代理

-------
$ 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
# 玄学参考:SSR设置成全局模式

配置

# 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
# 查看下是否已经自动挂载
$ df -hl
# 弹出TF卡所在的盘符
$ umount /dev/sdx1
# 格式化后的SD卡会是/dev/sdx, sdx1这种先格式化一下

$ make img-help 
#会根据当前环境的变更,直接复制运行

$ 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 229,836评论 6 540
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,275评论 3 428
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 177,904评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,633评论 1 317
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,368评论 6 410
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,736评论 1 328
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,740评论 3 446
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,919评论 0 289
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,481评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,235评论 3 358
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,427评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,968评论 5 363
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,656评论 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,055评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,348评论 1 294
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,160评论 3 398
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,380评论 2 379

推荐阅读更多精彩内容