採用情報 お問い合わせ

BLOG

Yocto Project

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 のものを指定

それ以外はだいたいこれまでと変わらない使用感になっていると思います。

この記事の著者
三ツ木 祐介 ( みつきん )

2020 年サイバートラスト入社。組み込み Linux に関わる業務に従事している。Yocto Project 公式実践講座 (LFD461-JP)講師。 個人ブログ「みつきんのメモ」にて Yocto Project 関連の情報を発信。 2015 年から CQ 出版のインターフェース誌に寄稿を開始、2022 年 9 月号より「Yocto Project ではじめる組み込み Linux 開発入門」を連載中。

本記事に関連するリンク
CentOS 7 延長サポートサービス
デジタルトランスフォーメーションのための電子認証基盤 iTrust
iTrust SSL/TLS サーバー証明書