Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

Yocto で Raspberry Pi 用 Linux を作る

素の 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 には単一のレポジトリに複数レイヤが収録されているので一つ一つ指定する。

  /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 の組み合わせはちゃんと動かなかった


Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
Help us understand the problem. What are the problem?