
2026/08/03 1:57
GNU Hurd ニュース 2026 年 Q2
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
GNU Hurd プロジェクトは、数ある分野で著しい進展を遂げ、実験的なニッチな地位からより高い安定性とマルチアーキテクチャ対応へと移行している。主な開発としては、Sergey Bugaev が GitHub 上でホストされている 9pfs ファイルシステムの書き込み動作をサポートする作業、Etienne Brateau の GNU Hurd POSIX準拠を検証するためのパッチ、Diego Nieto Cid らによる adjtime の修正および glibc のタスク優先度管理の改善などが挙げられる。ハードウェア対応は拡大しており、Paulo Duarte の RFC シリーズによってカーネル側での aarch64 実装が可能となり、QEMU を用いた x86_64、i686、aarch64 において 12/12 のテストが合格を確認され、Raspberry Pi や Apple M1 といったデバイス上の実行可能イメージへの道が開けた。gfleury および Mikhail Karpov らによるカーネルクラッシュ(NULL ポインターデリファレンス)および mmap チェックの修正を通じ、重大な安定性の問題に対処された。さらに、Almudena Garcia はコードベースの近代化を目指して Rust ベースの Trivfs 実装を開発しており、コミュニティは /dev エントリの命名規則や storeio を通じた動的デバイス管理の統合などの活動が続いている。これらの累積的努力は、プラットフォームインフラストラクチャの堅牢な進化とより広範な展開の可能性を示している。
本文
2026 年第 2 四半期(Q2)ハルッド(Hurd)開発レポート「Qoth」
1. システム・コアとファイルシステム
- セルゲイ・ブガエフによる 9P ファイルシステム (
) のソースコード公開。9pfs- Hurd 向け 9P トランスレータの実装を開始。
- GitHub リポジトリ:https://github.com/bugaevc/9pfs
- 実装済み機能:
- ファイルの読み込み・閲覧 (
,readdir
,stat
)io_read - パス解決 (
)dir_lookup - 管理機能(ノード、peropens、protids など)
- ファイルの読み込み・閲覧 (
- 今後の課題:
との連携に向けた virtio サポートの実装待ち。virtio-9p
- アルムデナ・ガルシアによる Rust 版ファイルシステム (
) の開発。trivfs- WIP(作業中)だが、Hurd トランスレータを Rust で記述できる可能性を確認。
- マイク・ケリーによる OpenNTPD の移植推進。
- Hurd に NTP デーモンを導入するために取り組む。
- レオナルド・ロペス・ペレイラによる不要なコードの削除(大掃除)。
2. ファイルシステム・ストレージ管理 (gnumach
/ storeio
)
gnumachstoreio- ミハイル・カルポフによるストレージ機能の実装。
デバイスエントリの 動的マウント 化を可能に(静的設定から解放)。/dev/- SATA デバイスをブート時に動的にマウントする仕組みへ移行。
トランスレータの機能拡張により、複数のディスクパーティションに対応。partfspartfs ├── 0 │ ├── 1 │ ├── 2 │ └── ... ├── 1 │ ├── 1 │ ├── 2 │ └── ... └── ...- 使用例コマンド:
settrans -c partfs /hurd/partfs /root/disk1.img /root/disk2.img /root/disk3.img # または、既存の形式との互換性を保った設定 settrans -c ext01 /hurd/ext2fs -w -T typed file:/root/partfs/0/1
- サミュエルによる
エントリの命名法とアーキテクチャに関する議論。/dev- 効率性向上のため、
が直接ストレージ情報を取得できる実装が必要。libstore - 提案されている動的なマウントパターン:
# パターン A: 特定のデバイスを partfs として扱う settrans -c /dev/hd0s /hurd/partfs /dev/hd0 # パターン B: より抽象的なデバイス名を使用 settrans -c /dev/hd /hurd/probedisk hd - これにより、
や/dev/hd0s/1
といった動的なパス生成が可能となる。/dev/hd/0/1
- 効率性向上のため、
3. ネットワーク・通信とパッケージ管理
- セルゲイ・ブガエフによる
の追加機能:9pfs- ファイルへの 書き込み機能 が実装された。
- gfleuryによる修正:
- tmpfs 関連の誤字脱字修正。
- ヌルポインタ(null pointer)へのアクセスによるクラッシュ 解消。
- ヨハンネス・ショア・マリン・ロドリゲスによる
の開発。s-build- amd64 Hurd での動作環境構築に向けたメールスレッド公開。
- サミュエル・ティボーによる NVMe サポートの検討(WIP)。
を活用した実装を目指すが、完了はしていない。rump
4. ユーティリティとライブラリ (glibc
/ システムツール)
glibc- エティエンヌ・ブリューによる POSIX 準拠の強化:
にバリデーションを追加し、POSIX 準拠を向上。msync
- ディエゴ・ニエト・シドによる権限管理とテストスイート修正:
- 権限を持つユーザーが自身のタスク優先度(nice value)を設定可能に。
// glibc と GNU Mach への採用済みパッチ - テストスイートのバグ修正:
- OpenNTPD ポート用の
バグ解消。adjtime - 他の 2 つのバグ修正。
- OpenNTPD ポート用の
- 権限を持つユーザーが自身のタスク優先度(nice value)を設定可能に。
- ブラ德利・モーガンによる微細な修正:
コマンドの実装におけるバグ修正。cat- procfs の微調整(非表示ファイルを表示)。
コマンドへのinit
オプションの対応(以前は無視されていた)。-s
- マイク・ケリーによる
のパッチコミット:glibc- SIGSTOP/SIGCONT がファイルを重複コピーするバグを修正。
- 注: 一部の Haskell パッケージビルドには依然問題が残る。
- ジョアン・レデオによる
の移植継続:dhcpcd- メンテナロイ・マップルズの貢献にも感謝。
- ミロス・ニキッチによる Neovim 移植とファイルシステム修正:
- libdiskfs のバグ修正。
- ext3/ext4 ファイルシステムのジャーナリングにおけるデッドロックバグ修正。
- サミュエルが即席で行った追加修正(
への置き換えなど)。pthread_cond_clockwait
5. コード品質・CI/CD・移植支援
- ダミアン・ザンミットによる CI/CD と移植支援:
- Hurd WIP CI の調整。
- AArch64 コンピュータ(GNU/Linux)から Hurd テストスイートを走らせるためのバグ修正。
- QEMU の Hurd サポートを上流の QEMU CI に統合し、品質維持に貢献。
- ソフィエル・シューによる
の安定化:pfinet- メモリ圧力下でのクラッシュ防止(教育・修正)。
戻り値の確認不足による潜在クラッシュバグを解消。mmap
- ジョシュア・ブランソンによる SVG ロゴの追加:
- イーサネット多重化装置(Ethernet Multiplexor)用のロゴ設計。
- ThinkPad 420 を搭載したリアルなハードウェア上で動作する Hurd を使用して作成(Inkscape)。
6. コンパイラ・言語移植
- エレニによる D 言語コンパイラの移植。
【重要】コードレビューと改善提案への呼びかけ
- 9pfs (
):9pfs- パッチ提出は
を件名にしてリストへ送ってください。[PATCH 9pfs] - 参考:古い
ベースのバージョンから未移行部分を移植すること。netfs.c
- パッチ提出は
- diskfs (
):libdiskfs- トランザクション管理(
の挙動)とロック解除パターンの見直しが必要です。wait=1 - ヘルパー関数の定義や、ドキュメントの充実が推奨されます。
- トランザクション管理(
- pfinet:
- メモリアスリート時のクラッシュ防止が完了しましたが、引き続き監視が必要です。
コミュニティへのお願い: 特に
9pfs や partfs などの新しいファイルシステム実装に関心のある方や、AArch64 での Hurd 検証(M1, Raspberry Pi など)にご協力いただける方は、積極的な参加を歓迎します!