meta-weston-rpiにRPi3対応しないの?というコメントがついたので、一応調べてみた。
すでに、waylandはrpi-backend.soのサポートをやめてしまっているので、実はmeta-weston-rpiは使えない。
もっと言うと、vc4graphicsが使用できることから、これがなくてもwestonは動かせるはず。
なので、ちょっとやってみた。
buildディレクトリはクリーンな状態で作業する必要がある。 DISTRO_FEATURESとか変更するので、ゴミが残っていると謎のエラーが頻発する。
yocto環境の取得
次の3つをcloneする。
- poky
- meta-raspberrypi
- meta-openembedded
meta-openembeddedはmeta-oeを使いたいから(実は不要なのかも。。。)
$ git clone git://git.yoctoproject.org/poky.git -b pyro $ cd poky $ git clone git://git.yoctoproject.org/meta-raspberrypi -b pyro $ git clone git://git.openembedded.org/meta-openembedded -b pyro
buildディレクトリの作成と環境変数の設定
$ cd .. $ source poky/oe-init-build-env
自動的にbuildディレクトリに移動される。
layerの設定
$ bitbake-layers add-layer ../poky/meta-raspberrypi $ bitbake-layers add-layer ../poky/meta-openembedded/meta-oe
local.confの設定
local.confをエディタで編集。下記ではemacsを起動している。
$ emacs ./conf/local.conf
次の内容をlocal.confの上の方に記述する。
MACHINE ?= "raspberrypi3" DISTRO_FEATURES_append = " wayland opengl" DISTRO_FEATURES_remove = " x11" MACHINE_FEATURES += "vc4graphics"
bitbake実行
$ bitbake core-image-weston
SDの作成
下記コマンドでイメージをSDカードに書き込む。
$ sudo dd if=tmp/deploy/images/raspberrypi3/core-image-weston-raspberrypi3.rpi-sdimg of=/dev/sdb bs=100M
/dev/sdbはSDカードのデバイス名。環境によっては/dev/sdcなどになる。
実行画面
無事、動いた。