無料でシンプルなオペレーティングシステム
このプロジェクトの主な目的は学ぶことですので、いくつかの間違いを期待してください。プロジェクトに貢献したい場合は、お気軽にリクエストをお願いします。
このプロジェクトには、OSが最初からどのように機能するかを説明するWikiがありますので、ここでそれをチェックして、間違った情報や不完全な情報が見つかった場合は問題を開きます。
このプロジェクトの目標は、ユーザーフレンドリーで安全なシステムを作成することではありません。目標は、いじくり回すための遊び場を作成することです。そこには、多くの力と多くのことがうまくいかないことがあります。プロジェクトが進化するにつれて、コードを直接編集してOSを再コンパイルする代わりに、そのいじくり回しが実行時にアクセスしやすくなりたいと思います。実行時にコードとアセンブリを編集できること(必ずしもオペレーティングシステムのコードではありません)は驚くべきことです。
このプロジェクトの重要な部分は、名前が示すように、非常にシンプルで膨らんでいないことです。これは、プロジェクト内のすべてがどのように機能するかを理解するために非常に重要です。これは主な目標の1つです。
プロジェクトの哲学に影響を与えたいくつかの興味深いリソース:
注記
ディストリビューションによっては、仮想マシン用のqemu-ui-gtkおよびqemu-audio-paパッケージが必要になる場合があります。
すべての要件が得られたら、単に実行してください。
$ git clone https://github.com/fs-os/fs-os
$ cd fs-os
$ make
...これは以下と同じでしょう:
$ make limine # Clone and build the bootloader inside ./limine/, you only need to do this once
...
$ make sysroot
...
$ make fs-os.iso
...注記
建築プロセスとターゲットの依存関係の詳細については、Wikiのコンパイルセクションを参照してください。
またはQEMUで直接テストするために:
$ make qemu
...このプロジェクトでは、Doxygenツールを使用してドキュメントを生成します。
| パッケージ名(紳士) | 説明 |
|---|---|
app-doc/doxygen | ドキュメントを構築するためのdoxygen |
app-text/texlive | ラテックス形式でドキュメントを構築するため(PDF用) |
media-gfx/graphviz | (オプション*)グラフの場合 |
dev-texlive/texlive-latexextra | (オプション)PDF形式でドキュメントを構築するためにのみ必要です |
* doxyfile(デフォルト)でHAVE_DOT=YESが必要です。
単純に実行:
$ doxygen
...
$ firefox doc/html/index.html
...ラテックスからPDFを生成(オプション):
$ cd doc/latex
$ make pdf
...
$ firefox refman.pdf
...TODO.MDまたはDoxygenドキュメントのTODOリストを参照してください。
注記
一部のスクリーンショットは少し時代遅れかもしれません。

