YoctoでRaspberryPi用のイメージをビルドしてみる。

手順

前回までの手順で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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です