【03】自作OSに挑戦する
第1章 PCの仕組みとハローワールド
書籍に従い、Hello, world ! を出しました。
動作確認はエミュレータですることにしました。
自分の環境と構築時コマンドをメモします。
環境
- Windows10
・RAM:16GB
・SSD:256GB - Hyper-V
・メモリ:4GB
・ハードディスク:64GB - Ubuntu Server 20.04LTS
※別途、サーバ系の検証もここでやりたかったのでServerにしました。
構築メモ
システムアップデート
$ sudo apt update
$ sudo apt upgrade
$ sudo apt autoremove
$ sudo shutdown -r now
GUI環境構築
$ sudo apt update
$ sudo apt install tasksel
$ sudo tasksel install ubuntu-desktop-minimal
※私はエミュレータとエディタだけ使えればよかったのでミニマル。
$ sudo shutdown -r now
$ sudo apt install xrdp
※リモートデスクトップの方が手軽に接続できるなと思ったので。
「Authentication is required to create a color managed device」が
出るので、以下サイトの設定もしました。
バイナリエディタインストール
$ sudo apt update
$ sudo apt install okteta
ビルド環境の構築
あとは以下ページの「ビルド環境の構築」に従いました。
やってみたメモ
oktetaでBOOTX64.EFIを作った際、チェックサムの結果が合わず、
「え、文字コード?」と設定を疑いましたが
打ち間違えをしていただけでした…。(直したらちゃんと一致しました)
スクリプトが用意されていました(ありがたい…)が、
折角なので書籍P.35のコマンドに従ってエミュレータを起動させました。
書籍P.35のとおりに「qemu-system-x86_64」を実行すると
WARNINGが出たので、スクリプトを参考にオプションは調整しました。
$ qemu-system-x86_64 \
-drive if=pflash,format=raw,readonly,file=$HOME/osbook/devenv/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=$HOME/osbook/devenv/OVMF_VARS.fd \
-drive if=ide,index=0,media=disk,format=raw,file=disk.img