Skip to content

rkarsnk/SatariaZeroOS

Repository files navigation

SatariaZeroOS


  #####                                      #######                      
 #     #   ##   #####   ##   #####  #   ##        #  ###### #####   ####  
 #        #  #    #    #  #  #    # #  #  #      #   #      #    # #    # 
  #####  #    #   #   #    # #    # # #    #    #    #####  #    # #    # 
       # ######   #   ###### #####  # ######   #     #      #####  #    # 
 #     # #    #   #   #    # #   #  # #    #  #      #      #   #  #    # 
  #####  #    #   #   #    # #    # # #    # ####### ###### #    #  ####  
                                                                          

macOS Sonomaで「ゼロからのOS自作入門」を進めための作業リポジトリ

準備

tianocore/edk2のクローン

tianocore/edk2edk2-stable202311を取得する.

取得後,macOS Sonoma (Intel)でビルドできるようにするため,edk2BaseToolsのソースコードを一部修正する.

./00_clone_edk2.sh

上のスクリプトではedk2のclone/checkout後に,edk2が使用するsubmoduleレポジトリについても取得している.

uchan-nos/mikanos-buildのクローン

uchan-nos/mikanos-buildosbookディレクトリに取得する.

osbook/devenv以下にあるスクリプトは一部macOSでは動作しないため,devenv_mac以下のものに置き換える.

./01_clone_osbook.sh

edk2/BaseToolsのビルド

make edk2tools

内部では,以下の処理を実行しているだけ.

make -C edk2/BaseTools/Source/C

ブートローダのビルド

ブートローダのソースコードはMikanLoaderPkg以下の置いてある.edk2-stable202311でビルドできるように,MikanLoaderPkg.{dec,dsc}の記述を一部変更している. また,みかん本に記載のedk2/Conf/target.txtを参照してビルドする方法は採用せず,下の例のようにbuildコマンドにパラメータを渡してビルドする方法を取っている.

build -p MikanLoaderPkg/MikanLoaderPkg.dsc -b DEBUG -a X64 -t CLANGPDB

ビルドを含む,ビルド前の準備作業についてはMakefileloaderルールに記載しているので,以下のコマンドでブートローダのビルドができるようになっている.

make loader

About

「ゼロからのOS自作入門」写経用

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages