LoginSignup
6
13

More than 5 years have passed since last update.

Yocto で Raspberry Pi 用 Linux を作る

Posted at

素の Yocto から Raspberry Pi 用に Linux を作った事が無かったのでメモ。他にもっといい記事が沢山あるけど、最小限の作業をまとめた。

  • 目的: Recipe のテスト用に軽い Linux が欲しい。
  • 作業環境: Ubuntu 16.04.3

meta-raspberrypi の記述の通り作業します。現在のリリースバージョンは "pyro" (2.3.1) というらしいので meta-raspberrypi と依存しているレイヤの pyro ブランチをあるディレクトリ (例: /home/yourname/src/poky) に clone。

git clone -b pyro git://git.yoctoproject.org/poky
git clone -b pyro git://git.openembedded.org/meta-openembedded
git clone -b pyro git://git.yoctoproject.org/meta-raspberrypi

開発環境を設定。引数なしだと build ディレクトリを作成し勝手に移動する。

source poky/oe-init-build-env

docs/layer-contents.md に対象 MACHINE や image が書いてあるので今回 raspberrypi3rpi-basic-image を選んでみます。

conf/local.conf を編集して MACHINE を指定。例えばこんな風に。

MACHINE = "raspberrypi3"

conf/bblayers.conf を編集して依存 layer を指定。例えばこんな風に。poky には単一のレポジトリに複数レイヤが収録されているので一つ一つ指定する。

BBLAYERS ?= " \
  /home/yourname/src/poky/poky/meta \
  /home/yourname/src/poky/poky/meta-poky \
  /home/yourname/src/poky/poky/meta-yocto-bsp \
  /home/yourname/src/poky/meta-openembedded \
  /home/yourname/src/poky/meta-raspberrypi \
  "

ビルド開始 (50 分)

bitbake rpi-basic-image

SD カード作成 sdimg は 100M 程度

lsblk # SD カードデバイス名確認 (/dev/sdc とする)
time sudo dd if=tmp/deploy/images/raspberrypi3/rpi-basic-image-raspberrypi3.rpi-sdimg of=/dev/sdc bs=1M

トラブルシューティング

  • bitbake で Fetcher failure が出た時は何度か bitbake をやり直すと上手く行った。
  • raspberrypi3-64 と rpi-hwup-image の組み合わせはちゃんと動かなかった

参考

6
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
13