手順
前回までの手順でpokyビルド環境をcloneします。
pokyディレクトリにてraspberrypi用のレイヤをcloneします。
cd poky
git checkout warrior-21.0.1 -b rpi_build
git clone -b warrior git://git.yoctoproject.org/meta-raspberrypi
環境変数をセットアップし、meta-raspberrypiレイヤを追加します。
source oe-init-build-env
bitbake-layers add-layer ../meta-raspberrypi
conf/local.confを編集します。MACHINEはビルド対象のボードを指定する部分で、RaspberryPiの機種によって変更します。 具体的な名前は ここ に書いてありました。
また、DL_DIRはデフォルトではbuildディレクトリの中(毎回異なる)に作られますが、これでは大量のパッケージのダウンロードを毎回行うことになり非効率であるため、どこかbuildの外のディレクトリを指定しておきます。これを行うことで、無駄なダウンロードを次回移行無くすことができます。
MACHINE ??= "raspberrypi"
DL_DIR ?= "/home/xxxx/yocto/downloads"
local.confの設定が終わったら、bakeを始めます。
bitbake core-image-base
正常に終了したら、buildディレクトリ内の以下の場所にSDイメージが作られます(日付部分は異なっているはず)。後はこれをddなどで書き込んでやることで起動が行えます。
tmp/deploy/images/raspberrypi/core-image-base-raspberrypi-20191010120620.rootfs.rpi-sdimg
追記
完成したイメージを起動してみたところ、何か余計なものがいろいろ入っているなあと思っていたところ、 core-image-minimalと指定することで本当に最小環境になるようでした。
bitbake core-image-minimal
参考サイト
https://wiki.yoctoproject.org/wiki/Releases
https://blog.web.nifty.com/engineer/810
https://qiita.com/naohikowatanabe/items/868eefed28cefec20ff8