リネオブログ

Yocto よもやま話 第 7 回「Yocto4.1 langdale リリース」

2022 年 12 月 05 日   Yocto Project よもやま話

2022 年 10 月 24 日、Yocto Project 4.1 Langdale リリースのアナウンスがありました。
LTS と LTS の間にリリースされる通常のバージョンとなり、リリース 7 カ月後の 2023 年 5 月にメンテナンスが終了となる予定です。

目次

  1. 4.1 で新規に追加・拡張された機能
  2. 過去のリリースからの主な変更点
  3. 今後のサポートに関して
  4. 次回予告

1. 4.1 で新規に追加・拡張された機能

1.1 更新状況

1.kernel
  • linux5.15(LTS) 及びリリース版構築時点での安定版カーネル
  • linux5.19
  • linuix-5.19 に関して、kernel.org では 2022/10/24 リリースの 5.19.17
で EOL となっていますが、Yocto4.1 リリース時点では 5.19.9 採用されています。

2. glibc

2.36

3. その他

260 以上のレシピのアップグレード

1.2 主な機能拡張

1. レイヤー操作機能の拡充

カスタマイズした構築環境を保存し、再利用が容易になる機能拡張が提供されています。

  • bitbake-layers create-layers-setup
    現在のレイヤー構成を json 形式のファイルに出力するbitbake-layers のサブコマンドが追加されています。
  • scripts/oe-setup-layer
    上記で出力された json ファイルからレイヤー構成を復元するスクリプトが新規に追加されています。

上記2つのコマンドの使用方法は、Developing Tasks Manuial の Saving and restoring the layuers setup で使用例が説明されています。

  • bitbake-layers save-build-conf
    現在のカスタマイズ状態を解析し、local.conf のテンプレートを生成するサブコマンドが追加されています。

上記サブコマンドは、Developing Tasks Manual の Creating a Custom Template Configuration Directory で使用例が説明されています

2. Bitbake 実行中の CPU.I/O,memory pressure 調整機能のサポート

開発 HOST の kernel のバージョンに依存する機能となりますが(linux-4.20以降)、/proc/pressure/ 以降に表示される cpu I/O memory の total の値の 1 分間の増分の監視を行い、指定された値以上の増加が有った場合に新規タスクの実行を保留する機能が bitbake に追加されています。

上記機能は、以下の変数に値を設定することで有効となります。

変数の解説は Yocto Project Reference Manual ではなく、BitBake User Manual に記載されています。どの程度の値を設定すれば良いのか判断に悩む部分ですが、buildstats を有効設定することで値の推移の確認が可能となっています。
本機能に関しては、Yocto3.1.19 /4.0.4 の各 LTS にバックポートされています。

2. 過去のリリースからの変更点

2.1 クラスファイルの配置場所の変更

従来、meta/classes ディレクトリ以下に配置されていた .bbclass ファイルですが、class を継承する状況によって、配置場所が変更となっています。

環境変数 INHERIT で指定可能なグローバルに継承することを目的としたクラスファイルは、meta/ classes-global ディレクトリ以下に配置されます。
このディレクトリ内に配置されたクラスファイルを inherit 等でレシピ内から継承する場合は、警告が表示されます。

レシピによってのみ継承されることを意図したクラスファイル(inherit で指定されたり IMAGE_CLASSES または KERNEL_CLASSES 変数に指定)は、meta/ classes-recipe ディレクトリ内に配置されます。
このディレクトリ内に配置されたクラスファイルを INHERIT 等の環境変数で指定する場合は、警告が表示されます。

グローバルに継承・レシピ内での指定の両方で使用可能なクラスファイルは従来同様 meta/classes ディレクトリ内に配置されます。

2.2 make のサポートバージョンの変更

gloibc の構築において、ホスト環境の Make のバージョン4.0 以降が必要となりまた。

2.3 -dev -dbg パッケージの依存の変更

SDK をビルドする際の -dev および -dbg パッケージ、または IMAGE_FEATURES に dev-deps を追加してイメージを生成する際、従来は RRECOMEND に指定されたパッケージも自動的に追加されてきましたが、本リリースより RRECOMEND の値は参照しない仕様変更が行われています。 必要な場合は、IMAGE_INSTALL 変数や sdk の TOOLCHAIN_TAGET_TASK にパッケージを指定します。

2.4 削除されたレシピ

以下のレシピが削除されています。

 alsa-utils-scripts:

alsa-utils に統合

cargo-cross-canadian:

最適化による削除

lzop:

上流でメンテナンスされなくなったため削除

linux-yocto_5.10

5.15/5.19 に返納

rust-cross:
rust-crosssdk: 
rust-tools-cross-canadian:

最適化による削除

xf86-input-keyboard: 

古くなり削除。libinput/evdev に置き換え

3. 今後のサポートに関して

3.1 スケジュール

  • 2022/10 リリースの Yocto4.1 は、2023/5 まで
    • CVE に登録された脆弱性への対応
    • その他不具合の対処

といった更新が行われます。

既に、Yocto4.1.1 が 2023/11/25 付けでリリースが行われていますが、2023/05 まで以下のスケジュールでのリリースが予定されています。

  • Yocto4.1.2 Release date 2023/01/20
  • Yocto4.1.3 Release date 2023/03/17
  • Yocto4.1.4 Release date 2023/05/13

3.2 Maintainerの変更

Yocto3.2 から Yocto 3.4 のMaintainer であった Intel社のAnuj Mittal に代わって、Yocto4.1 では、Yocto3.1/4.0 LTS の Maintainer の Steve Sakoman 氏が担当となっています。

4. 次回予告

次回のテーマは、「Yocto Project Summit 2022.11」を予定しています。
2022/11/29 - 2022/12/01 に渡って開催されたオンラインイベントでのプレゼンテーションから幾つかを取り上げて紹介する予定です。

この記事の著者
執筆者
伊東 孝康

ウィンドウシステム X10 の時代からオープンソースに関わり、リネオでカーネル層からアプリケーション層まで幅広い組込みの開発を行う。
2020 年 10 月 Yocto Project Ambassador に就任

Yocto Project の勉強がしたい Yocto での問題を解決して欲しい お客様の Yocto 開発を支援するサービス群 Yoctoコンシェルジュ

Yocto Project 公式実践講座 5 月 ~ 7 月 開催分 受講お申込み受付中!
Vigiles サポート
Yocto Project よもやま話
Yocto よもやま話 第 14 回 「Yocto 4.3 Nanbield リリース」
Yocto よもやま話 第 14 回 「Yocto 4.3 Nanbield リリース」

2024 年 03 月 26 日 Yocto Project よもやま話

Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」
Yocto よもやま話 第 13 回 「Yocto Project の最新動向 2023 夏」

2023 年 07 月 25 日 Yocto Project よもやま話

Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」
Yocto よもやま話 第 12 回 「Yocto Project 始めます その 2」

2023 年 06 月 20 日 Yocto Project よもやま話

Linux 技術ネタ
RISC-Vについて学ぶ-後編
RISC-Vについて学ぶ-後編

2024 年 01 月 10 日 Linux 技術ネタ

RISC-Vについて学ぶ-前編
RISC-Vについて学ぶ-前編

2023 年 12 月 12 日 Linux 技術ネタ

イベントレポート
EdgeTech+ 2023 出展レポート
EdgeTech+ 2023 出展レポート

2023 年 12 月 14 日 イベントレポート

EdgeTech+ West 2023 出展レポート
EdgeTech+ West 2023 出展レポート

2023 年 08 月 09 日 イベントレポート

Design Solution Forum 2022
Design Solution Forum 2022

2023 年 02 月 27 日 イベントレポート

リクルート
新卒採用、絶賛募集中!
新卒採用、絶賛募集中!

2023 年 05 月 30 日 リクルート

国立大学オンライン研修レポート 2022
国立大学オンライン研修レポート 2022

2022 年 09 月 27 日 リクルート

北小野通信
北小野通信 桜の季節、珍客来訪?
北小野通信 桜の季節、珍客来訪?

2023 年 05 月 11 日 北小野通信

北小野通信 「 日本土真ん中ウォーク 2022 」
北小野通信 「 日本土真ん中ウォーク 2022 」

2023 年 01 月 30 日 北小野通信

北小野通信 1011
北小野通信 1011

2022 年 10 月 11 日 北小野通信

ソリューション統括部
シリコンバレー探検記 2019 ~番外編~
シリコンバレー探検記 2019 ~番外編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~後編~
シリコンバレー探検記 2019 ~後編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~前編~
シリコンバレー探検記 2019 ~前編~

2019 年 12 月 10 日 ソリューション統括部

マーケティング統括部
大成功決起大会!!(ET2019)
大成功決起大会!!(ET2019)

2019 年 12 月 13 日 マーケティング統括部

ESEC 2019 決起大会
ESEC 2019 決起大会

2019 年 04 月 25 日 マーケティング統括部

シリコンバレー探検記 その 2
シリコンバレー探検記 その 2

2018 年 12 月 18 日 マーケティング統括部