みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

raspberrypi2 yocto2.0(Jethro)

yoctoの時期リリース版では、gccのバージョンが4から5に上がるなど大きな変更が入っている。 それに伴ってバージョンも1.9をスキップするようだ。 gitの方でもJethroの名でブランチが切られ、開発が進んでいる様子。

meta-raspberrypiでも、gcc5でのビルドに対応するなどjethroと組み合わせてビルドすることが可能になっている。 カーネルのバージョンも3.18から4.1に上がっている。

まだ、開発中のステータスだが試してみることにした。

Jethroブランチの取得

ベース環境を取得

ベース環境を以下の要領で取得。

$ git clone git://git.yoctoproject.org/poky.git
$ cd poky
$ git checkout -b jethro origin/jethro
$ git clone git://git.yoctoproject.org/meta-raspberrypi

環境変数を設定

$ source poky/oe-init-build-env

bblayers.conf

bblayers.confを下記のように修正

BBLAYERS ?= " \
  /home/mickey/rpi2/poky/meta \
  /home/mickey/rpi2/poky/meta-yocto \
  /home/mickey/rpi2/poky/meta-yocto-bsp \
  /home/mickey/rpi2/poky/meta-raspberrypi \
  "

local.conf

local.confに下記を追加。

MACHINE ?= "raspberrypi2"
BB_NUMBER_THREADS = "6"
PARALLEL_MAKE = "-j 6"
VIDEO_CAMERA = "1"
GPU_MEM = "128"
DL_DIR ?= "${TOPDIR}/../downloads"

FETCHCMD_wget = "/usr/bin/env wget -t 2 -T 6000 -nv --passive-ftp --no-check-certificate"

bitbakeおよび書き込み

下記でイメージをビルド

$ bitbake rpi-basic-image

下記でイメージを書き込み

$ sudo dd if=./tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg of=/dev/sdb bs=40M

sdbは環境によりsdcなどに変化する可能性がある。

動作確認

ディストロもPoky 2.0になっている。

$ cat /etc/issue
Poky (Yocto Project Reference Distro) 2.0 \n \l

meta-raspberypiのカーネルも4.1になっている。

$ root@raspberrypi2:~# uname -a
Linux raspberrypi2 4.1.10 #1 SMP PREEMPT Mon Nov 2 23:32:02 JST 2015 armv7l GNU/Linux