4 ポイント 投稿者 GN⁺ 2025-04-27 | 1件のコメント | WhatsAppで共有
  • RetrOS-32 は i386アーキテクチャベース の32ビット趣味向けオペレーティングシステムプロジェクト
  • グラフィックス、マルチタスク、ネットワーキング 機能を提供し、実機でもテスト済み
  • C、C++、アセンブリ言語 で書かれており、Docker によるクロスプラットフォームコンパイルをサポート
  • ユーザーシステムの構築、QEMUエミュレーション実行、実機ブートが可能
  • プロジェクトは 完成度の高いカーネル機能ネットワークスタック を備え、継続的に機能追加中

RetrOS-32bit プロジェクト紹介

  • i386アーキテクチャをベースにした32ビット趣味向けオペレーティングシステム開発プロジェクト
  • グラフィカル環境、マルチタスク、ネットワーク機能をサポート
  • プロジェクト開始日: 2022年5月12日

基本ログイン情報

  • デフォルトのユーザーアカウント: system, admin, guest
  • admin のパスワードは admin、guest はパスワードなし
  • 新しいユーザーは admin create <username> <password> コマンドで作成可能

主な開発言語とツール

  • C, Assembly: カーネル、ユーティリティ、ビルドシステム
  • C++: ユーザー空間アプリケーション
  • Make: ビルド自動化
  • Docker: クロスプラットフォームコンパイル環境を提供

テスト済みハードウェア

  • Lenovo x240
  • Asus Eee PC シリーズ
  • Dell Optiplex 780
  • Samsung N150 Plus
  • Samsung NP-NC10
  • IBM Thinkpad a21p

はじめに (Getting Started)

必要なツール (Prerequisites)

  • Docker: クロスプラットフォームコンパイル
  • QEMU: 仮想マシンエミュレーション
  • Linux/WSL 環境: build-essential, gcc-multilib, grub2, xorriso, xxd
  • macOS: Docker の使用が必要 (32ビット x86 ビルド制限のため)

インストール方法 (Installation)

  • Git リポジトリをクローン
  • Git サブモジュールを初期化
  • make compile, make img コマンドでイメージファイルを作成
  • make qemu コマンドで QEMU エミュレーターを実行

macOS と Windows では Docker の使用を推奨

使い方 (Usage)

  • copy.sh v86 サイトで .img ファイルをアップロードして実行
  • QEMU で直接実行可能: make qemu または qemu-system-i386 <image_name>
  • 実機では GRUB ベースの ISO を USB/CD に書き込んでブート可能

プロジェクト構成 (簡単な要約)

  • apps: ユーザー空間アプリケーション
  • bin: バイナリファイル
  • boot: ブートローダーソース
  • drivers: カーネルドライバー
  • fs: ファイルシステムコード
  • graphics: グラフィックス処理コード
  • include: ヘッダーファイル
  • kernel: カーネル主要ソース
  • lib: ライブラリ
  • net: ネットワーキングコード
  • rootfs: ルートファイルシステム
  • tests: テストコード
  • tools: ビルドおよびユーティリティツール

開発ロードマップ (Roadmap)

  • カスタムブートローダーおよび GRUB 互換ブート 完了
  • マルチスレッドのプリエンプティブスケジューリング および カーネル/ユーザー空間分離 を実装
  • ネットワークスタック: Ethernet, IP, ARP, UDP, TCP, DHCP, DNS 完了
  • グラフィックスシステム: ウィンドウマネージャー、ウィジェット、ダブルフレームバッファレンダリングを実装
  • ファイルシステム: Ext2類似、FAT16対応、読み書き可能
  • 今後の計画: Webサーバー、FTP、IRC、SSH、Telnet、HTTP、HTML サポートを追加予定

1件のコメント

 
GN⁺ 2025-04-27
Hacker Newsのコメント
  • こういうプロジェクトのほうがAIよりずっと見ていて気持ちがいい。売れることはなさそうだけど、技術者が創造的に取り組んでいる姿だ
    • 10代後半のころ、趣味でOS開発をかなり勉強していた。今でも小さなカーネルを作ることがある(最近では、RISC-Vの小さなカーネルでパートナーにメッセージを表示した)
  • これは長い間見てきた中でも最も印象的な情熱プロジェクトのひとつだ。なぜ自作のCコンパイラを書いたのか気になる
  • デフォルトのシステムフォントは、もっと詰まったバリエーションにすべきだ。そうすればシステム全体がずっと洗練されて見えるはず
    • 文字にもっと横方向の余裕が必要なのは明らかだ。各文字の幅はもっと狭くし、文字間のスペースは可能な限り小さくすべきだ。このフォントサイズと解像度なら、1ピクセル程度で十分だろう
    • フォントシステムには詳しくないけれど、固定幅のビットマップフォントだと仮定している。コードベースの中でこうした変更を行うのがどれほど難しいのかは分からないが、作業量が多すぎるなら気にしなくていい
    • いまWeb OSサイトをゼロから作っていて、最近フォントクラスを完全に書き直した。だからこの問題が頭にある
  • 素晴らしい! 今日やり直すとしたら、何を違う形で進めるだろうか?
    • 低レベル部分に対する言語の適性についてはどう考えている?(たとえばCのままにするか、C++のシンプルなサブセットにするか、あるいは新しい言語のどれかにするか)
    • さまざまなリソースがある中で、どうやって他人のコードをコピーせずにこのプロジェクトを面白いまま保ったのか?
  • おめでとう! 1977年にCommodore PET 2001を使っていた者として、これは実にクールに見える。KolibriOSやMenuetOSx64で遊んでいたけれど、自分自身のOSを作りたいと思っていた。やり遂げたんだね! このまま進み続けてほしい
  • お祝いの言葉を伝えたい。プロジェクトに深く感銘を受けた。10代のころからOS開発のファンで、この成果が形になるのを見られてうれしい。グラフィックスサブシステムがどう初期化されるのか気になる。成功を祈る
  • GNUのように大きくてプロフェッショナルなものになるのかな? :)
  • このコンパイラがOSとどのように相互作用しているのか説明してもらえるだろうか? 特に、構造体のような機能をどう扱っているのか、この分野における現時点での制限や今後予定している改善点が気になる
  • いくつかのプロジェクトが同時にマイルストーンへ到達しているのは興味深い。コンピュータと深く向き合って作業し、その結果を共有する人たちが今でもいるのは心強い
    • このまま進み続けてほしい
  • エディタにTurbo C/QBasicの面影を感じた
    • このプロジェクトに賛辞を送りたい