Ubuntu Weekly Topics

Ubuntu 26.10(stonking)の開発; Snapshot 3とinitrd肥大への対応⁠⁠、 germidiff⁠⁠、 壁紙の確定

stonking(Ubuntu 26.10)の開発; Snapshot 3とinitrd肥大への対応、 germidiff、 壁紙の確定

stonkingのSnapshot 3が無事にリリースされています[1]。リリースアナウンスには「35, you say? There's a new image hiding in there. Can you guess which one? ;)」(⁠「⁠35って本当? なにか新しいイメージが隠れているのですが、どれか分かりますか?⁠」⁠)という記載もあり、Snapshot 2と比べると、次のものが増えています。

  • desktop-amd64v3(x86-64v3向けのデスクトップイメージ)
  • netboot-ppc64el(ppc64el向けのNetboot用tarball)
  • netboot-s390x(s390x向けのNetboot用tarball)

一般的な用途で気にするべきはx86-64v3向けのデスクトップイメージが登場していることで、以前から続けられてきたx86-64v3のテストと評価がより現実的な方向になると言えそうです。x86-64v3の動作にはIntelであればHaswell(2013)以降、AMDであればExcavator(2015)以降のCPUが必要ですが、おおむね「10年もののハードウェアでなければ動く」という性質のものですし、あくまで「Ubuntu Desktopのバリエーションとして」登場するという形です(つまりUbuntu Desktopのx86-64版がなくなるわけではありませんし、仮になくなるような方向になっても、LubuntuやXubuntuなどは残ると期待できます⁠)⁠。

こうした流れの横で、Dracutの改善についてのまとめが提供されています。示されている内容は以下の2点で、いずれもinitrdのサイズや展開負荷に対処するためのものです。

  • すでに圧縮されているカーネルモジュールを再度圧縮してinitrdに取り込むのではなく、「⁠そのまま」取り込む機能を実装した。
  • rust-coreutils由来のバイナリではなく、busyboxを積極的に利用する形でinitrdを作成することで、容量の肥大を防ぐ機能を実装する予定。

後者について少し中身を見ておきましょう。

busyboxは「いろいろなcoreutilsの代わりをする」汎用のバイナリです。呼び出された名前に応じて動作を変えるバイナリで構成されており、組み込み環境のような小さな環境では、「⁠lsやcatのような基本的なコマンドがbusyboxのシンボリックリンクになっている」(⁠そしてbusyboxバイナリはlsと同じ振る舞いをしたり、catと同じ振る舞いをしたりする)という構成が取られることがあります。

そしてinitrdは「システムが完全に起動する」前に利用される、簡易のファイルシステムです。ブートローダーから起動されたカーネルは、「⁠正式なファイルシステム」へ切り替える前(この切り替えは、その関数の名前からpivot_rootなどと呼びます)は、initrdにある各種コマンドバイナリを利用します。このバイナリは、dracut等のユーティリティがinitrdを作り出すタイミングで、「⁠その時点のホストに含まれるバイナリ」を取り込む形で実現されています。

Ubuntu 26.04 LTSで行われたRustベースのcoreutilsへの切り替え後、この「取り込み」処理の結果として、Rust版のcoreutilsがinitrdに含まれるようになっていました。Rust版coreutilsは伝統的なGNU版coreutilsに比べてサイズが大きく、組み込みのようにリソースが限定されている環境、あるいはブートローダー関連として配置できるストレージサイズに上限がある環境では問題になる可能性があります。Raspberry Piでは実際にこのサイズ増大により、複数のブートアセットを保持するにはinitrdが大きくなりすぎるという問題を引き起こしていました。

今後予定されている修正は、この「取り込み」を抑制し、busyboxでできるだけ多くをまかなうというものです(そして現状のbusyboxのcoreutils互換機能にはいくつか「Dracutが必要とするものの、busyboxが解釈できないオプション」が存在するため、busybox側を先に直し、その上でbusyboxを活用する形に切り替えることが予定されています⁠)⁠。

この修正は26.04 LTSにもバックポートされる予定です。

内部の修正と並行して壁紙コンテストが終了し、デフォルトの壁紙とともに収録される画像が確定しています。そろそろリリースに向けて「見た目」が固まる時期でもあり、それらしくなってきたと言えるでしょう。

また、各種リリースイメージを構成する「seeds」の変更の影響を予測するためのツールとして、『germidiff』という新しいユーティリティが登場しています。これにより、「pollinateを削除したらcurlも消えた」事案のような問題を事前に予測できるようになるでしょう(ちなみに「Vibe Codingで作った」ということが明示されており、GitHub上のContributorsを見る限りでは、Claude Codeが利用されているようです⁠)⁠。

その他のニュース

  • linux-firmwareパッケージの細分化(26.04で取り込まれた「linux-firmware-qualcomm-graphics」などのような、デバイスごとに細分化されたfirmwareパッケージ)が、24.04 LTSでも利用できるようになりました。特に大規模なインストール環境において、システム更新に伴うネットワーク負荷を下げるために利用できるでしょう。

おすすめ記事

記事・ニュース一覧