Skip to content
This repository has been archived by the owner. It is now read-only.

Totsugekitai/minOSv2

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
log
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

minOSv2

build test

x86_64 アーキテクチャで UEFI 対応のシンプルな OS です。

minOS を書き直して作られています。

master ブランチは GPD MicroPC にて実機動作確認済みです。

develop ブランチは QEMU にて動作確認済みです。

ビルド方法

カーネルのビルド

ルートディレクトリで make kernel です。

ブートローダのビルド

EDK2をクローンする

$ git clone https://github.com/tianocore/edk2.git

EDK2の環境変数設定

まず edk2/ ディレクトリに入って以下を行う。

$ git submodule update --init
$ make -C BaseTools/Source/C

で必要なものをビルドする。

次にsource edksetup.sh を叩き、環境変数を設定する。 以降はこの環境変数を読み込んだシェル上で操作を行う。

target.txt を編集する

Conf/target.txt が生成されていると思うので、それを以下のように編集する。

# -- snip --
ACTIVE_PLATFORM       = MinLoaderPkg/MinLoaderPkg.dsc
# -- snip --
TARGET_ARCH           = X64
# -- snip --
TOOL_CHAIN_TAG        = GCC5

ブートローダの make

minOSv2 のルートディレクトリで make boot です。 これでEDK2でビルドされたブートローダが minOSv2/fs/ 以下にコピーまでされます。

QEMU での実行方法

minOSv2/MakefileQEMU 変数を各自の環境に合わせてパスを書き換えて下さい。

minOSv2 のルートディレクトリで make run です。

掃除

minOSv2 のルートディレクトリで make clean です。

テスト

minOSv2は一部の処理について単体テストができます。

テストには GoogleTest を用いています。

テスト環境の構築

minOSv2 のルートディレクトリで、 git submodule update --init を打ちます。 すると tests ディレクトリに googletest がクローンされます。

配置したら、次のコマンドを入力します。

$ cd path/to/minOSv2/tests
$ make gtest-gen

これで tests ディレクトリ内に gtest ディレクトリが生成されます。 これはテストに用いられます。

テスト方法

minOSv2 のルートディレクトリで make test です。

About

A minimal Operating System version 2

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published