information.AllocSystemKernelgrub/boot/grub.gitignore.travis.ymlLICENSEREADME.mdgdb.scrlibcore_nofp.patchREADME.mdWARosコードネームWARosは日本発の超軽量カーネルとして開発中の実験的プロジェクトです。アプリケーションをOSとして構築でき、超軽量な組み込み開発を可能とします。このプロジェクトには以下の特徴があります。Linuxなどの既存OSをベースとしておらず、ほぼ完全にフルスクラッチで構築されています。必要な機能のみを取捨選択することによりバイナリサイズ・実行速度を極限まで最適化できます。B+のような貧弱な環境においても起動は一瞬です。Rust言語の採用により実行速度と安全性を保ったまま高効率な開発が可能です。前提環境binutilsクロスコンパイルのため、コンパイルするターゲット環境のbinutilsが必須です。具体的にはi686-elf-ldといったコマンドが必要となります。rustcRustのコンパイラです。一部のunstableな機能を利用するためにRustのNightlyビルドが必要です。2015-11-30)です。grubx86向けのビルドには起動用のディスクイメージの生成のため、grub-mkrescueコマンドを使用しています。ビルドMakefileはKernelディレクトリにあります。UPDATEが必要です。rustcのバージョンにあったソースコードが必要なため、手動でダウンロードすることをおすすめします。Kernelディレクトリ内でmakeしてください。環境が揃っていればx86向けのバイナリがkernel.x86.bin及びgrub.x86.isoとして出力されます。makeとしてください。この場合のバイナリはkernel.arm.binです。Xでのビルドにおいてリンクエラーの発生を確認しています。依存ライブラリのビルドに失敗しているだけのようで、一度Linux環境でビルドすることで再ビルドが可能となります。エミュレーションデバッグにはQEMUが便利です。x86以下のコマンドで起動します。Pi環境のQEMUはTorlus/qemuにあります。メモリの容量が取得できないためkmainにて手動でメモリ領域を指定する必要があります。-Sを付加するとデバッガの接続を待機することができます。ターゲット環境用のgdbを接続してデバッグが可能です。この時のgdbコマンドのサンプルがgdb.scrにあります。gdb.scrとすることでデバッグを開始します。