HN公開: 自作の趣味OSがついにビンテージIBM ThinkPadで動作
(github.com/joexbayer)- 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件のコメント
Hacker Newsのコメント