MikanOS オレオレ AArch64対応版 AArch64対応版のビルド環境を構築します。
Ubuntu20.10で動作確認をしています。
オリジナルのビルド環境構築についてはこちらを参照してください。
まず作業ディレクトリを作成します。
作業ディレクトリに移り、このリポジトリをosbook
という名前でクローンします。
mkdir aarch64-mikanos
cd aarch64-mikanos
git clone https://github.com/kaz399/mikanos-build.git osbook
例として作業ディレクトリをaarch64-mikanos
とします。
ディレクトリ構成は下記になります。
aarch64-mikanos
└── osbook/
osbook/aarch64-buildenv/
に移動し、環境構築スクリプトbootstrap.sh
を実行します。
作業ディレクトリに開発環境一式が構築されます。
cd osbook/aarch64-buildenv
./bootstrap.sh
環境構築が終了すると下記の構成になります。
aarch64-mikanos
├── aarch64-linux-gnu -> gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu
├── activate.sh
├── clang+llvm-11.0.0-aarch64-linux-gnu/
├── downloads/
├── edk2/
├── freetype2/
├── gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/
├── mikanos/
├── musl/
├── osbook/
└── seabios/
10 directories, 1 file
作業ディレクトリにあるactivate.sh
をsourceします。
activate.sh
の引数でビルドするアーキテクチャを選択します。
別アーキテクチャに切り替えるときはdeactivate
を実行してから再度activate.sh
をsourceしなおしてください。
. ./activate.sh
. ./activate.sh x86_64
mikanos/kernel
ディレクトリに移り、loaderとkernelをビルドします。
cd mikanos/kernel
make loader
make
注:loaderはビルド時に他アーキテクチャのバイナリを消してしまうので、アーキテクチャを切り替えたときには再ビルドが必要になります
下記コマンド(エイリアス)を実行するとkernelをEMUで実行します。
disk.img
を作成するためにsudo
を実行するので、パスワードを聞いてきます。
ra
rk