⚠️ この投稿は「ゼロからのOS自作入門」のうまくいかなかったところの解決先備忘録になります。ぜひ本書を購入して詰まった場合はこちらを試してみてください。
下準備
- https://sourceforge.net/projects/vcxsrv/ からXサーバーをダウンロードし、本に従ってインストール
- 以下を順に入れる(OS名とか自分で入れたいのであれば書き換える)
$ sudo apt install qemu-kvm
$ sudo apt install dosfstools
$ qemu-img create -f raw disk.img 200M
$ mkfs.fat -n 'HOGE OS' -s 2 -f 2 -R 32 -F32 disk.img
$ mkdir -p mnt
$ sudo mount -o loop disk.img mnt
$ sudo mkdir -p mnt/EFI/BOOT
$ sudo cp /mnt/c/BOOTX64.EFI mnt/EFI/BOOT/BOOTX64.EFI
$ sudo umount mnt
※ $ sudo mount -t drvfs C: /mnt/c
に関して、自分はwindowsCドライブ直下にEFIファイルを入れていたからマウントしています
結果
ウィンドウが出た後、1分ほど待ったらHello. world!が出た
トラブルシュート
ディスクイメージをQEMUで起動しようとしたら以下のエラーが出た
確かにそんなものを$HOME配下に入れた覚えはない
MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
qemu-system-x86_64: -drive if=pflash,file=XXXX/OVMF_CODE.fd: Could not open 'XXXX/OVMF_CODE.fd': No such file or directory
解決
公式gitに答えが書いてあった
$ sudo apt update
$ sudo apt install git
$ cd $HOME
$ git clone https://github.com/uchan-nos/mikanos-build.git osbook