技適取得済みのRPi3が入手できた。
箱に技適マークが確認できる。
基板はこんな感じ。
meta-raspberrypiもmasterであればRPi3に対応しているようなので動かしてみる。
作業ディレクトリの作成
作業ディレクトリは~/rpi3とする。
$ mkdir ~/rpi3 && cd ~/rpi3
ベース環境の取得
$ git clone git://git.yoctoproject.org/poky.git $ cd poky $ git clone git://git.yoctoproject.org/meta-raspberrypi
先述の通り、現時点ではmasterブランチで作業。
oe-init-build-envの読み込み
下記を実行する。
$ cd ~/rpi3 $ source poky/oe-init-build-env
次のことが行われる。
- クロスコンパイルに必要な環境変数の読み込み
- buildディレクトリの作成とカレントディレクトリの移動
- conf/bblayers.confの生成
- conf/local.confの生成
- conf/templateconf.cfgの生成
templateconf.cfgは特に存在を意識する必要はない。
conf/bblayers.confの修正
bblayers.confを修正し、meta-raspberrypiをbitbakeのビルド対象に追加する。
BBLAYERS ?= " \ /home/mickey/rpi3/poky/meta \ /home/mickey/rpi3/poky/meta-poky \ /home/mickey/rpi3/poky/meta-yocto-bsp \ /home/mickey/rpi3/poky/meta-raspberrypi \ "
conf/local.confの修正
RPi3向けのイメージをビルドするための設定をlocal.confの上の方に記述する。
MACHINE ?= "raspberrypi3" BB_NUMBER_THREADS = "8" PARALLEL_MAKE = "-j 8" GPU_MEM = "128" DL_DIR ?= "${TOPDIR}/../downloads"
DL_DIRは特に必要ないが、ダウンロードしたファイルを格納するdownloadsディレクトリが buildの1つ上の階層にできるように指定している。
bitbake実行
bitbakeを実行し、RPi3向けのイメージを作成する。
$ bitbake rpi-basic-image
動作確認
ddで書き込んで、実機で動作確認。
$ sudo dd if=./tmp/deploy/images/raspberrypi3/rpi-basic-image-raspberrypi3.rpi-sdimg of=/dev/sdb bs=4M
無事起動した。