LoginSignup
2
1

More than 3 years have passed since last update.

RaspbianにOP-TEEをビルドする

Posted at

2020/8/31

RaspbianにOP-TEEをビルドする

公式で提供されているOP-TEEのファイルシステム(buildroot)では、apt-get機能が搭載されておらず、開発環境として非常にやりづらい。

そのため、ファイルシステムをRaspbianに変更する。


環境

  • ホストOS:windows10 + VMware
  • ゲストOS:Ubuntu20.04.1
  • 動作確認用機器:Raspberry Pi 3B
  • その他:USB-UARTケーブル(あると便利)


RaspbianをmicroSDカードへ書込む

Raspbianのダウンロード、microSDカードヘの書き込みはこのサイトを参考にした。


具体的な手順としては以下の通り。

  • こちらのサイトからRaspbianのイメージファイル(Raspberry Pi OS (32-bit) with desktop)をダウンロード。

  • SD FormatterでmicroSDを綺麗な状態にする。

  • balenaEtcherでRaspbianをmicroSDカードに書込む

  • この状態でopteeを組込むとsudorootが使えなくなる不具合が発生したので、念のため以下の作業を推奨する。

    • Raspbianでラズパイを立ち上げてrootのパスワードを設定
    $ sudo passwd root
    
    • /etc/sudoersに追記
    # User Privilege specification
    root    ALL=(ALL:ALL) ALL
    + pi     ALL=(ALL:ALL) ALL   
    


USB-UARTケーブルでPCとラズパイを接続する場合
  • /boot/cmdline.txtconsole=serial0,115200の部分を削除

  • /boot/config.txtで以下を追記

$ vim /boot/config.txt
+ dtoverlay=pi3-miniuart-bt
+ core_freq=250


PCでRaspbain-OPTEEをビルド


公式opteeはドキュメント通りでビルドする。特にエラーは出なかったのでここでは割愛。
microSDカードに書き込まれているRaspbianのbootを削除し、opteeのbootに書き換える。
以降はRaspbian向けopteeのビルド方法を説明する。


クロスコンパイルツールのダウンロード

linaroでクロスコンパイルツールAARCH64AARCH32をインストール。具体的にはこのサイトから以下のものを入手する。
- gcc-linaro-aarch64-linux-gnu.tar.xz(version:6.5.0)
- gcc-linaro-x86_64_arm-linux-gnueabihf.tar.xz(version:6.5.0)


Raspbian向けopteeのリポジトリをダウンロード

$ git clone https://github.com/benhaz1024/raspbian-tee
$ cd raspbian-tee
$ mkdir -p toolchain/aarch32/bin ← AARCH64を入れる
$ mkdir -p toolchain/aarch64/bin ← AARCH32を入れる

config.mkのpathを変更

パスを確認。ダウンロードしてきたディレクトリ名を合わせるか、パスを変更する。

$ vim config.mk
必要に応じてパズを変更

依存関係のモジュールをインストール

$ sudo apt install libssl-dev bison flex make u-boot-tools python-dev
$ pip install crypto

ビルドの実行

$ ./prepare-env.sh
$ make patch
$ make

microSDへのコピー

$ blkid ← microSDの割り振りを確認
$ mount /dev/sdx /media/rootfs
$ sudo cp -r ./out/rootfs/* /media/rootfs

PCとRaspberry Piへの接続(シリアル通信)

VMware上のUbuntuとラズパイでシリアル接続

$ sudo picocom -b 115200 /dev/ttyUSB0

その後、ラズパイの電源を入れるとカーネルのログが流れて、ターミナルが立ち上がる。


参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1