Ubuntu 21.10 で ゼロからのOS自作入門

os

ゼロからのOS自作入門を Ubuntu 21.10 で動かしてみます。

ゼロからのOS自作入門 – 2021/3/22

ゼロからのOS自作入門(内田公太著)サポートサイト
https://zero.osdev.jp

ソースコード

git インストール

$ sudo apt-get install git

mikanos のクローン

$ cd
$ git clone https://github.com/uchan-nos/mikanos.git

mikanos-build のクローン

$ cd
$ git clone https://github.com/uchan-nos/mikanos-build.git

QEMU

ubuntu で kvm qemu インストール
https://takuya-1st.hatenablog.jp/entry/2021/01/06/164842

qemu インストール

$ sudo apt -y install qemu-kvm libvirt-daemon-system \
libvirt-daemon virtinst bridge-utils libguestfs-tools virt-top

1章 1-4 エミュレータでのやり方

$ cd mikanos-build/day01/bin
$ ~/mikanos-build/devenv/run_qemu.sh hello.efi 

Hello World という QEMU ウインドウが立ち上がったら成功。

1章 1-9 C言語でハローワールド

$ cd mikanos-build/day01/c
$ sudo apt install make
$ sudo apt install clang
$ sudo apt install lld
-> /usr/bin/lld-link-13 がインストールされる

Makefile 内の lld-link を lld-link-13 に書き換える

$ make

Hello World という QEMU ウインドウが立ち上がったら成功。

2章 2-2 EDK2 でハローワールド

edk2のクローン
–recursive つけないといけない

$ cd
$ git clone --recursive https://github.com/tianocore/edk2.git

初期セットアップ

$ cd edk2
$ source edksetup.sh

edk2 以下に MikanLoaderPkd のシンボリックリンクを貼る

$ cd ~/edk2
$ ln -s ~/mikanos/MikanLoaderPkg ./

edk2/Conf/target.txt を以下の値で編集

ACTIVE_PLATFORM MikanLoaderPkg/MikanLoaderPkg.dsc
TARGET DEBUG
TARGET_ARCH X64
TOOL_CHAIN_TAG CLANG38

RegisterFilterLib is not found エラー対策
MikanLoaderPkg/MikanLoaderPkg.dscの LibratyClasses に
以下を追加することでビルドできるようになります。

RegisterFilterLib|MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf

ビルド

$ build

BaseTools C Tool binary was not found (GenFw) エラーと言われるので
以下を実行

% make -C /Users/aship/edk2/BaseTools/Source/C

ソースコードレベルのエラーがでたので(ライブラリの不足とかではない)
対処法がわからず、詰み。

わかったら、追記します。

その他のOS自作本

30日でできる! OS自作入門 – 2006/3/1

コメント

タイトルとURLをコピーしました