1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Yocto Linux の概要

1
Posted at

Yocto Project は、組み込み Linux ディストリビューションを作るためのビルドフレームワークです。既製の Linux ディストリビューションをインストールする仕組みではなく、対象ハードウェア・必要パッケージ・設定・起動方式に合わせて Linux image を生成します。

重要な用語

用語 意味
Poky Yocto Project のリファレンスディストリビューション
BitBake Yocto/OpenEmbedded のタスク実行エンジン
Recipe ソフトウェアの取得・ビルド・インストール方法を記述した .bb
Layer recipe や設定をまとめた単位
MACHINE 対象ハードウェア定義
DISTRO ディストリビューション方針
Image rootfs、kernel、boot 設定などを含む成果物
SSTATE task 結果を再利用する shared state cache
DL_DIR ソースコードや tarball を保存する download cache

Yocto の基本構造

source code / recipe / config
        ↓
      BitBake
        ↓
 tasks: fetch, unpack, patch, configure, compile, install, package, rootfs
        ↓
 deploy/images/${MACHINE}/
        ↓
 kernel / rootfs / wic / manifest / qemuboot.conf

なぜ Docker 化するか

Yocto はホスト OS のツールチェーン、Python、locale、ファイル権限、ディスク I/O の影響を強く受けます。Docker 化すると、ビルド環境を固定しやすくなります。

Docker化のメリット
- ホスト OS を汚さない
- 依存パッケージを Dockerfile に固定できる
- 複数 PC / CI で再現しやすい
- cache と workspace を分離しやすい

ただし、Docker コンテナ内で QEMU を動かす場合は、/dev/net/tun や権限設定に注意が必要です。確認用途では runqemu ... slirp ... を使うと簡単です。

qemux86-64 とは

qemux86-64 は、Yocto が用意している QEMU 用の仮想 x86_64 machine 定義です。

MACHINE = "qemux86-64"

これは物理ハードではなく、QEMU 上の仮想 PC 向けに Linux image を作るための設定です。

初回は Raspberry Pi 4 ではなく qemux86-64 で確認すると、問題を分離できます。

qemux86-64 で確認できること
- Docker コンテナ内で BitBake が動くか
- core-image-minimal がビルドできるか
- kernel/rootfs が生成されるか
- QEMU で boot/login できるか

qemux86-64 では確認できないこと

- Raspberry Pi 4 の boot firmware
- Device Tree
- GPIO/I2C/SPI/UART 実機挙動
- Wi-Fi/Bluetooth
- GPU/VPU
- SD/eMMC 書き込み・起動問題

これらは Raspberry Pi 4 用 BSP と実機で確認します。

推奨学習順

1. qemux86-64 + core-image-minimal
2. QEMU 起動確認
3. 自作 layer / recipe 追加
4. Raspberry Pi 4 BSP 追加
5. Raspberry Pi 4 image 生成
6. 実機起動
7. service / update / debug / recovery
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?