2025 年 12 月 24 日
Yocto Project 5.3 (Whinlatter) でのマニュアルセットアップ
はじめに
Yocto Project 5.3 リリース (Whinlatter)でお知らせした通り、 poky リポジトリの master ブランチの更新作業が停止されました。
このことにより以前のバージョンと Yocto Project のセットアップ方法が変わります。
ここではマニュアルセットアップの手順を紹介します。
作業をスムーズにするために Yocto Project のマニュアルの手順とは少し異なる手順を実行します。
従来の手順
従来は poky リポジトリを取得するだけで Yocto Project のビルド環境を使い始めることができました。
$ git clone git://git.yoctoproject.org/poky -b scarthgap $ source poky/oe-init-build-env $ bitbake core-image-minimal
マニュアルセットアップ
マニュアルセットアップでは以下のリポジトリをそれぞれ取得する必要があります。
meta-yocto のリポジトリには、meta-poky と meta-yocto-bsp のレイヤが含まれています。
作業ディレクトリ
作業ディレクトリとして「~/yocto/poky」を使用します。
$ mkdir ~/yocto/poky $ cd ~/yocto/poky
各リポジトリの取得
ここでは yocto-5.3(Whinlatter) のブランチを取得します。
$ mkdir layers $ git clone -b yocto-5.3 https://git.openembedded.org/bitbake ./layers/bitbake $ git clone -b yocto-5.3 https://git.openembedded.org/openembedded-core ./layers/meta $ git clone -b yocto-5.3 https://git.yoctoproject.org/meta-yocto ./layers/meta-yocto
OpenEmbedded-Core のリポジトリを「meta」という名前で保存しているのがポイントになります。
oe-init-build-env
従来の方法では単に「oe-init-build-env」を実行していましたが、マニュアルセットアップの場合には 「TEMPLATECONF」という変数によって meta-poky の下のテンプレートファイルを指定する必要があります。
$ TEMPLATECONF=$PWD/layers/meta-yocto/meta-poky/conf/templates/default source ./layers/meta/oe-init-build-env
TEMPLATECONF を指定しない場合は、OpenEmbedded-Core のテンプレートファイルが使用されます。 その場合、DISTRO の設定が "nodistro" となり、Yocto Project が提供する "poky" ではなくなります。
2 回目以降は TEMPLATECONF の指定は不要になります。
$ source ./layers/meta/oe-init-build-env
local.conf の変更
追加の設定が必要な場合には「conf/local.conf」に設定を記述します。
debug-tweaks の有効化
以前のバージョンではデフォルト状態で、以下のユーザーでログインできるようになっていました。
- root
- パスワードなし
これは「debug-tweaks」という IMAGE_FEATURES により実現していましたが、 5.2(Walnascar) で廃止され、以下の IMAGE_FEATURES を個別に定義する必要がありました。
- allow-empty-password
- allow-root-login
- empty-root-password
- post-install-logging
5.3(Whinlatter) ではさらにセキュリティ上の観点からデフォルトでこの機能が有効化されなくなりました。
しかし開発時点ではこの機能が無効化された状態だとログインをすることもできないので local.conf に以下を記述します。
IMAGE_FEATURES += "allow-empty-password allow-root-login empty-root-password post-install-logging"
MACHINE の設定
マニュアルセットアップの場合は MACHINE や DISTRO の設定を従来どおり local.conf で行うことができます。
ここでは MACHINE を "qemuarm64" に設定します。
MACHINE ?= "qemuarm64"
ビルド
BitBake を実行し「core-image-minimal」をビルドします。
$ bitbake core-image-minimal
動作確認
runqemu コマンドを実行し、ビルドした Linux を起動します。
$ runqemu slirp snapshot nographic
起動を簡単にするために、ここでは以下のオプションを指定しています。
- slirp: ユーザーモードネットワークを使用
- snapshot: ファイル操作をすべて破棄する
- nographic: すべての入出力を端末経由にする
起動ログが一通り表示されたあと以下のように表示されます。
Poky (Yocto Project Reference Distro) 5.2.99+snapshot-8519978592483bb096ed5192fff7af6c887b799e qemuarm64 /dev/ttyAMA0 Type 'root' to login with superuser privileges (no password will be asked). qemuarm64 login: root WARNING: Poky is a reference Yocto Project distribution that should be used for testing and development purposes only. It is recommended that you create your own distribution for production use. root@qemuarm64:~#
メッセージ通り "root" ユーザーでログインすることができました。
まとめ
ここまでマニュアルセットアップの手順を紹介してきました。
注意点としては以下のとおりです。
- OpenEmbedded-Core リポジトリは「meta」という名前で保存
- 初回の oe-init-build-env は "TEMPLATECONF" で meta-poky のものを指定
それ以外はだいたいこれまでと変わらない使用感になっていると思います。










