日記

日本語の勉強のためのブログ

WSL2+kali+qemuでmikan本の学習(Xサーバ不要)

やりたいこと

以下の環境で「ゼロからのOS自作入門」の学習を始めたい。

  • Windows11
  • WSL2 + qemu
  • kali linux
  • Xサーバは使わない

やったこと

kaliのインストール

WSL2でkali linuxを用意する。WSL版は一部のツールしか入っていないため、フルインストールを行った。
※これが以降の作業に影響するかはわからないので飛ばしてもよい?

sudo apt update
sudo apt install -y kali-linux-default

qemuのインストール

WSLgが出て久しいのでXサーバは利用しない。単にqemuを入れるだけでOK。
dosfstoolsmkfs.fatを使用するために入れている

sudo apt update
sudo apt install -y qemu-kvm dosfstools

qemu-system-i386と打ってウィンドウが立ち上がればインストールできている。

開発環境のインストール

本の付録Aにも載っているが、git clone https://github.com/uchan-nos/mikanos-build.gitすればOK。

第1章をやってみる

このあたりは本にも書いてあるが、念のため。
まずoktetaなどのバイナリエディタBOOTX64.EFIを作成*1し、次のコマンドを実行する。

qemu-img create -f raw disk.img 200M
mkfs.fat -n "MIKANOS" -s 2 -f 2 -R 32 -F 32 disk.img
mkdir -p mnt
sudo mount -o loop disk.img mnt
sudo mkdir -p mnt/EFI/BOOT
sudo cp BOOTX64.EFI mnt/EFI/BOOT/BOOTX64.EFI
sudo umount mnt

そしたらこのイメージをqemuで起動する。パスのmikanos-buildのあたりは環境に応じて変える必要がある。

qemu-system-x86_64 \
  -drive if=pflash,file=$HOME/mikanos-build/devenv/OVMF_CODE.fd \
  -drive if=pflash,file=$HOME/mikanos-build/devenv/OVMF_VARS.fd \
  -hda disk.img

これでウィンドウが開き、Hello, world!と表示されればOK。

*1:もしくは開発環境のリポジトリから cp day01/bin/hello.efi ./BOOTX64.EFI で持ってくる