Linux Daily Topics

Adelie Linux開発者⁠systemdをmusl libcに移植

Adelie Linux開発者のA. Wilcoxは9月5日、自身のブログ「The Cat Fox Life」「Porting systemd to musl libc-powered Linux(systemdをmusl libcベースのLinuxに移植する⁠⁠」と題した記事を投稿、Adelie Linuxのようにmusl Cライブラリを使用するディストリビューション上でも実行可能なsystemdを開発したことを明らかにした。すでにパッチセットがGitLab上に公開されており、Wilcoxはパブリックベータに向けたテストを呼びかけている。

Wilcoxによれば、この⁠musl版systemd⁠は2024年8月にリリースされた「systemd v256.5」をもとに開発をスタート、その理由について「アップストリームの進捗にできるだけ合わせつつ、現時点で安定したバージョンであるv255から離れすぎないバージョンにしたかった。また、アップストリームによるsplit-usrのサポート終了の影響を最大限反映できるようにしたかった」と説明している。

移植作業中には多くのビルドエラーやテストスイートの失敗に遭遇したが、Wilcoxを最も悩ませたのはtime-utilのテストだったという。muslのstrptime実装はsystemdテストが依存する%zフォーマット指定子(タイムゾーン用)をサポートしていないことによるものだが、Wilcoxは「これらのテストを無効にすることもできたが、そうすると多くの機能が失われるように感じた」として、他のシステムの重要なジャーナルなどを検討し、systemd用%zを変換して記述、テストが合格することを確認したという。

現在、muslに移植したsystemdは無事に動作しており、⁠OpenRC(Gentoo Linuxなどで動作するinitシステム)の1/3の時間で起動する」⁠Wilcox)ものの、本格的な運用に至るまでにはまだいくつかの課題(KDEセッションから再起動するとコンポジタがフリーズ、OpenSSHとutmps以外のサービスユニットファイルは作成されていない、など)があるという。このためWilcoxはより多くのテスト協力者が必要だと呼びかけている。

現在ではほとんどのLinuxディストリビューションでデフォルトのinitとして採用されているsystemdだが、誕生時からその設計思想に対する批判は少なくなく、そのひとつに「Linux以外のOSをもともと対象にしていない」⁠glibc以外のライブラリを利用する小規模Linuxで実行できない」というプロジェクトとしてのフォーカスの狭さがある。今回のmusl移植版プロジェクトはそうした課題を解決する大きなきっかけとなるかもしれない。

おすすめ記事

記事・ニュース一覧