snaka; 第3章 画面表示の練習とブートローダ - uchan-nos/os-from-zero GitHub Wiki
ブートローダのビルド
Directory: ~/edk2
ブートローダのビルド
$ source edksetup.sh # 1度実行するとセッション完了まで再実行する必要なし
$ build
ビルド結果は Build/MikanLoaderX64/DEBUG_CLANG38/X64/Loader.efi
として出力される
QEMU で動作確認
$ ~/osbook/devenv/run_qemu.sh Build/MikanLoaderX64/DEBUG_CLANG38/X64/Loader.efi
カーネルのビルド
Directory: ~/workspace/mikanos/kernel
$ clang++ -O2 -Wall -g --target=x86_64-elf -ffreestanding -mno-red-zone \
-fno-exceptions -fno-rtti -std=c++17 -c main.cpp
$ ld.lld --entry KernelMain -z norelro --image-base 0x100000 --static \
-o kernel.elf main.o
ビルド結果は kernel.elf
として出力される
QEMUで動作確認
$ ~/osbook/devenv/run_qemu.sh Build/MikanLoaderX64/DEBUG_CLANG38/X64/Loader.efi \
~/workspece/mikanos/kernel/kernel.elf
レジスタ