Cに書かれた単純なX86オペレーティングシステム
カーネルはgrub2によってロードされます。ブート構成はrootfs/boot/grub/grub.cfgにあります。
カーネルは、MultiBoot 2プロトコルを使用してGrub2によってロードされます。カーネルは0x100000でロードされ、32ビットモードでロードされます。
カーネルはMBRを解析し、独自のパーティションを見つけます。拡張パーティションをサポートしていません。次に、ファイルシステムをセットアップしてマウントします。
カーネルはFAT12とFAT16をサポートします。ファイルとディレクトリを読むことができます。カーネルはFAT12/16に書き込むことができません。
カーネルはext2をサポートします。ファイルとディレクトリを読むことができます。カーネルはext2に書き込むことができません。
カーネルはint 0x80命令を介してsyscallsをサポートします。現在、次のシステムがサポートされています。
sys_writesys_readsys_opensys_closesys_statsys_getpidsys_forksys_execvesys_exitカーネルはELFファイルを解析して実行できます。また、デバッグシンボルをそれ自体からロードすることもできます。
現在、カーネルは単一のバイナリとして構築されています。将来的には、モジュールに分割されます。カーネルは、ファイルシステムからモジュールをロードします。
カーネルは、Intel 82540EMシリーズのネットワークカードをサポートしています。パケットを送信および受信できます。次のプロトコルがサポートされています。
カーネルは、原始的なLIBCの上に構築されています。 kernel/libcにあります。また、ユーザースペースプログラムで使用されるsystem/libcもあり、将来的には共有ライブラリが生成されます。