RuixはRustで書かれたマイクロカーネルです。Linux互換を長期目標に据えつつ、現在はx86_64上での低レベル機能の実装と安定化に集中しています。
Ruixの目的は、最小限のカーネル機能を安全かつ堅牢にRustで実装することです。長期的にはプロセス管理やIPCを含むLinux互換層を構築することを目指します。
bootloader/bootimage(ブート可能イメージ作成、開発用)volatile(揮発性メモリアクセス)spin(シンプルなスピンロック)x86_64(x86_64向け低レベル補助)lazy_static(静的初期化)
(詳細は Cargo.toml を参照してください)
- Rust(nightlyが必要になる場合があります)
bootimage(ブートイメージを作るなら):
cargo install bootimageカーネルをターゲット x86_64-ruix.json でビルド:
cargo build --target x86_64-ruix.jsonブート可能イメージを作成する(bootimage インストール済みの場合):
cargo bootimage生成されたブートイメージをQEMUで起動する例:
qemu-system-x86_64 -drive format=raw,file=target/x86_64-ruix/debug/bootimage-ruix.bin -serial file:serial_output.log開発用に簡単なテストやクラッシュ(例:スタックオーバーフロー)を用意してあり、カスタムパニックハンドラの表示を確認できます。自動化されたテストは現在限定的です。
本プロジェクトはOS開発チュートリアルやx86_64クレート、ブートローダー実装から多くを学んでいます。参考資料とコミュニティに感謝します。