osdev_bookのソースコードです。各章に対応するブランチが存在するので、ブランチを切り替えてソースコードを参照してください。
UNIX系環境(cygwin等も含む)である必要があります。また、makeとvagrant、VNC(Mac以外ではVNC Viewerだと良い)をインストールしておいてください。
cloneした後、以下のコマンドを実行して仮想環境を実行しましょう。
$ vagrant up
このコマンド自体は仮想環境を立ち上げるためのコマンドですが、初回起動時は仮想環境(Ubuntu14.04)のダウンロードと初期設定を行います。数GBダウンロードするので、回線の帯域幅と容量制限に注意してください。また、この環境構築にはかなりの時間が掛かります。
一度仮想環境の事は忘れて、普通にソースコードを編集します。このソースコードは自動で(ファイル共有を用いて)仮想環境に同期されます。
makeコマンドでビルドします。この際、以下のコマンドが実行できます。
$ make 普通のmakeです。OSのディスクイメージが作成されます。
$ make run ビルドと同時にqemuでOSを起動します。起動したOSの画面はVNC接続で参照する事ができます。
$ make hd ビルドと同時にディスクイメージを物理デバイスに書き込みます。書き込みたいデバイスが仮想マシン(VirtualBox等)に認識されるよう、事前に設定を行ってください。複数のデバイスが仮想環境に繋がっている場合、先に接続したデバイスに書き込みます。 ちなみに、このコマンドがホストPCに影響を与える事は(デバイスと仮想マシンの接続設定を間違えない限り)ありません。
時々仮想環境が応答しなくなる事があります。この場合は、以下のコマンドで仮想環境を再起動した後、再度makeを走らせてください。
$ vagrant reload
仮想環境は裏で立ち上げたままコードの編集を行う事ができるのですが、しばらくコードの編集を行わないので仮想環境が使用しているメモリを解放したい場合などは、以下のコマンドで仮想環境を終了させる事ができます、
$ vagrant halt
一度仮想環境を終了させると、ビルドする前に再度仮想環境を立ち上げる必要があるので気をつけてください。
このコードを利用した事によって発生したいかなる損害に対しても作者(liva)は責任を負いません。 また、ライセンスはMITライセンスです。