raspberrypi2 yoctoでPiTFT3.5 (Console編)
以前にAdafruitのイメージで動かしたあと放置気味だったが、yoctoでPiTFT3.5を動作させたのでメモ。
ドライバについて
今回はmeta-pitft35-rpiというレイヤを作成した。 このレイヤはHX8357Dサポートのパッチをmeta-raspberrypiのカーネルへバックポートして、dtoverlayなど必要な設定をしたもの。
HX8357Dのパッチはそのままでは適用できなかったので手パッチをあてた。
環境の作成
meta-pitft35-rpiを使用した環境を作成する。
yoctoの基本環境およびmeta-raspberrypi
まいどお馴染みの基本環境のダウンロード
$ mkdir ~/work/rpi2 $ cd ~/work/rpi2 $ git clone git://git.yoctoproject.org/poky.git $ cd ~/work/rpi2/poky $ git clone git://git.yoctoproject.org/meta-raspberrypi
meta-pitft35-rpi
今回作成したレイヤのダウンロード
$ cd ~/work/rpi2/poky $ git clone https://github.com/mickey-happygolucky/meta-pitft35-rpi.git
ビルド環境の設定
ビルドのための環境変数の設定とビルドディレクトリの作成。 このコマンド実行後は自動的にビルドディレクトリに移動される。
$ cd ~/work/rpi2 $ source poky/oe-init-build-env build_pitft35
今回はビルドディレクトリを、build_pitft35とする。
conf/bblayers.conf
レイヤーの設定。
BBLAYERS ?= " \ /home/mickey/work/rpi2/poky/meta \ /home/mickey/work/rpi2/poky/meta-yocto \ /home/mickey/work/rpi2/poky/meta-yocto-bsp \ /home/mickey/work/rpi2/poky/meta-raspberrypi \ /home/mickey/work/rpi2/poky/meta-pitft35-rpi \ "
今回は、meta-raspberrypiとmeta-pitft35-rpiを追加している。
conf/local.conf
MACHINE ?= "raspberrypi2"
BB_NUMBER_THREADS = "6"
PARALLEL_MAKE = "-j 6"
VIDEO_CAMERA = "1"
GPU_MEM = "128"
LICENSE_FLAGS_WHITELIST += "commercial"
DL_DIR ?= "${TOPDIR}/../downloads"
KERNEL_DEVICETREE_append = " pitft35-resistive-overlay.dtb"
RPI_PITFT35 = "1"
「KERNEL_DEVICETREE_append = " pitft35-resistive-overlay.dtb"」で、 pitft35のdtoverlayをビルド対象に含め、 「RPI_PITFT35 = "1"」でこれを有効化している。
動作確認
ビルド
今回はRPi向け最小構成(おそらく)のrpi-basic-imageをbitbakeする。
$ cd ~/work/rpi2/build_pitft35 $ bitbake rpi-basic-image
焼きこみ
$ sudo dd if=./tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg of=/dev/sdb bs=40M
RPi2での確認
PiTFT3.5を装着して起動すると、しばらくしてログイン画面になる。
