はじめに
Yocto Project 3.0(Zeus)がリリースされていたのでラズベリーパイ3で動かす。
構築手順
ソース取得
$ mkdir -p rpi-zeus/layers $ cd rpi-zeus/layers $ git clone git://git.yoctoproject.org/poky.git -b zeus $ git clone git://git.yoctoproject.org/meta-raspberrypi -b zeus $ git clone git://git.openembedded.org/meta-openembedded -b zeus $ cd ../
環境変数設定
$ source layers/poky/oe-init-build-env build
自動的にビルドディレクトリに移動される。 これで、bitbake関連のツールが使用可能になる。
ツールの説明
今回のバージョンからbitbake以外のツールに関する説明が表示されるようになった。
Other commonly useful commands are: - 'devtool' and 'recipetool' handle common recipe tasks - 'bitbake-layers' handles common layer tasks - 'oe-pkgdata-util' handles common target package tasks
oe-pkgdata-util
ははじめて見る。
パッケージのバージョンやファイルの一覧などを見ることができるっぽい。
レイヤ追加
$ bitbake-layers add-layer ../layers/meta-openembedded/meta-oe $ bitbake-layers add-layer ../layers/meta-openembedded/meta-python $ bitbake-layers add-layer ../layers/meta-openembedded/meta-networking $ bitbake-layers add-layer ../layers/meta-raspberrypi
local.confの修正
MACHINEをraspberrypi3
に設定し、UARTを有効化する。
MACHINE = "raspberrypi3" DL_DIR ?= "${TOPDIR}/../downloads" # enable uart ENABLE_UART = "1" # systemd DISTRO_FEATURES_append = " systemd pam" VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = "" # connman IMAGE_INSTALL_append = " connman \ connman-client \ "
ビルド
core-image-baseをビルドする。
$ bitbake core-image-base
書き込み
ddやEtcherで書き込む
ddの場合は次のようにする。
$ sudo dd if=tmp/deploy/images/raspberrypi3/core-image-base-raspberrypi3.rpi-sdimg of=/dev/sdX bs=100M
/dev/sdX
はSDのデバイスに適宜読み替え。
実行
zeusが起動した。
# cat /etc/os-release ID="poky" NAME="Poky (Yocto Project Reference Distro)" VERSION="3.0 (zeus)" VERSION_ID="3.0" PRETTY_NAME="Poky (Yocto Project Reference Distro) 3.0 (zeus)"
まとめ
zeusも問題なく立ち上がった。