Coder Social home page Coder Social logo

osdev_book_src's Introduction

簡単な説明

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を実行してもビルドが走らない場合

時々仮想環境が応答しなくなる事があります。この場合は、以下のコマンドで仮想環境を再起動した後、再度makeを走らせてください。

$ vagrant reload

仮想環境の終了

仮想環境は裏で立ち上げたままコードの編集を行う事ができるのですが、しばらくコードの編集を行わないので仮想環境が使用しているメモリを解放したい場合などは、以下のコマンドで仮想環境を終了させる事ができます、

$ vagrant halt

一度仮想環境を終了させると、ビルドする前に再度仮想環境を立ち上げる必要があるので気をつけてください。

最後に

このコードを利用した事によって発生したいかなる損害に対しても作者(liva)は責任を負いません。 また、ライセンスはMITライセンスです。

osdev_book_src's People

Contributors

liva avatar

Watchers

James Cloos avatar

Forkers

kenroda

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.