リネオブログ

Yocto よもやま話 第 14 回 「Yocto 4.3 Nanbield リリース」

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

Yocto Project は、2023 年 11 月 22 日、Nanbield 4.3 のリリースを発表しました。
LTS と LTS の間にリリースされる通常のバージョンとなり、リリース後 7 カ月後の 2024 年 5 月にメンテナンスが終了する予定です。

目次

  1. 4.3 の概要
  2. 過去のリリースからの主な変更点
  3. 今後のサポートに関して
  4. 本リリース情報の参照元

1. Yocto 4.3 Nanbield の概要

1.1 更新状況

kernel

本リリースでは OLDEST_KERNEL が "5.15" に設定されました。
カーネルの下限が 5.15 に設定されたわけですが、これには二つ理由があります。
一つは Y2038 問題に対応するためです。これは 64 ビット の time_t をサポートすることで実現しています。

もう一つは glibc の最適化のためです。最新のカーネル API のみを使用することで実現しています。
OLDEST_KERNEL を書き換えることで古いカーネルを利用することは不可能ではありませんが、その時は上記二つのメリットをそのままで享受することはできません。

glibc

Version 2.38

その他レシピについて

300 以上のレシピがアップグレードされました。

1.2 主な機能追加及び拡張

時間の変数に 64 ビットの time_t を採用

コンパイルにおける時間の変数が 64 ビットの time_t に変更されました。
Y2038 のタイム・オーバーフロー問題を回避するため、largefile サポートと 64 ビットの time_t でコンパイルされるようになりました。
この変更により未対応のレイヤの既存のプログラムに影響がでる恐れがあります。

レイヤの由来の追跡が可能に

レイヤ名のオーバーライドにより、レイヤの由来を知ることができるようになりました。
新しく追加された FILE_LAYERNAME 変数と layer- オーバーライドを通して、当該レシピがどのレイヤから来たかを知ることができるようになりました。これによりレイヤごとの QA チェックが有効になります。

この変更は既存のコードに他のレイヤから bbappend されたレシピに QA チェックが適用されるという副作用があります。そのため既存の方法で、つまり bbappend を通して追加されたパッチには、パッチヘッダで Upstream-Status を指定する必要がありますのでご注意ください。

QEMU と runqemu の強化について

QEMU がバージョン 8.1 にアップグレードされました。runqemu コマンドに多くのアップデートが適用されています。
これらの変更により qemu-system-native レシピが PNG をサポートした状態でビルドされるようになりました。これはエラー報告用にスクリーンショットを撮るのにとても便利です。

また、自動テストの妨げとなる二つのシリアルポートを超えないようにするためにシリアルポートに関して変更が加えられました。この変更により runqemu の実行時にシリアルポートが追加されるような設定を持っていた場合、その機能が壊れる恐れがあります。

また、runqemu は tunctl の代わりに ip tuntap コマンドを使用するようになったため、直接 tunctl を呼び出すスクリプトを使用している場合は ip tuntap コマンドに切り替える必要があります。

新しく追加されたレシピ

以下のレシピが追加されました。

  • appstream
  • cargo-c-native
  • libadwaita
  • libtraceevent
  • libxmlb
  • musl-legacy-error
  • python3-booleanpy
  • python3-calver
  • python3-click
  • python3-dtc
  • python3-isodate
  • python3-license-expression
  • python3-rdflib
  • python3-trove-classifiers
  • python3-xmltodict
  • vulkan-validation-layers
  • xcb-util-cursor

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

今回のリリースでは多くの変更点があります。より詳細な情報は リリースノート で確認いただけます。

2.1 開発環境

構築確認を行うディストリビューションの変更

本リリースでは、新しい GNU/Linux ディストリビューションでの BitBake の実行をサポートしています。

対応ディストリビューション Ubuntu 22.10
Fedora 38
Debian 12
CentOS Stream 8
AlmaLinux 8.8
AlmaLinux 9.2
削除 Fedora 36
AlmaLinux 8.7
AlmaLinux 9.1

2.2 変数の変更

非推奨になった変数

以下の変数は非推奨となりました。

  • CVE_CHECK_IGNORE : 代わりに CVE_STATUS をご利用ください。

なお、この変数はブログの第一回でご紹介した CVE_CHECK_WHITELIST から CVE_CHECK_IGNORE になった変数です。さらに CVE_CHECK_IGNORE になるという変遷を経ています。

削除された変数

以下の変数が削除されました。

  • AUTHOR
  • PERLARCH
  • PERLVERSION
  • QEMU_USE_SLIRP : 代わりに TEST_RUNQEMUPARAMS に slirp が追加されています。
  • SERIAL_CONSOLES_CHECK : getty を起動する前に SERIAL_CONSOLES にリストされているすべてのコンソールの存在をチェックするため、必要なくなりました。

2.3 レシピの変更

このリリースでは以下のレシピが削除されました。

  • apmd : 廃止されました (MACHINE_FEATURES の apm も削除されました)。
  • cve-update-db-native : 機能的に cve-update-nvd2-native に置き換えられました。
  • gcr3 : コアレシピで不要になったため、meta-gnome に移動しました (gcr バージョン 4.x はまだ提供されています)。
  • glide : Go 言語の変更で説明された理由と同じです。
  • libdmx : 時代遅れになったため。
  • linux-yocto バージョン 5.15 (代わりにバージョン 6.1 と 6.5 が提供されます)。
  • python3-async : obsolete - python3-gitdb や他のコアレシピでは不要になったため。
  • rust-hello-world : 他の Rust レシピやテストケースが十分あるため。

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

ポイントリリースはすでに 4.3.3 まで発表されています。

4. 本リリース情報の参照元

Yocto Project Release Information Release 4.3 (nanbield)

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

組込みLinuxセキュリティ基礎講座
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+ West 2024 出展レポート
EdgeTech+ West 2024 出展レポート

2024 年 07 月 26 日 イベントレポート

Advanced Technology Forum 2024 Summer 参加レポート
Advanced Technology Forum 2024 Summer 参加レポート

2024 年 07 月 09 日 イベントレポート

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

2023 年 05 月 30 日 リクルート

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

2022 年 09 月 27 日 リクルート

信州リネオ便り
リネオに雪が積もりました
リネオに雪が積もりました

2024 年 11 月 29 日 信州リネオ便り

社内BBQを開催しました!
社内BBQを開催しました!

2024 年 09 月 25 日 信州リネオ便り

夏季休業明け、スイカを頂きました!
夏季休業明け、スイカを頂きました!

2024 年 08 月 20 日 信州リネオ便り

ソリューション統括部
シリコンバレー探検記 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 日 マーケティング統括部