ゼロからの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
コメント