OS自作入門の環境構築メモ
OS自作入門本を買った。
主に自分が詰まったりした部分をまとめていきます。恐らく随時更新。
環境
WSLの有効化
なんで無効にしてたかすら不明。当然仮想プラットフォームを有効化してやる。
コントロールパネル -> プログラム -> プログラムと機能 -> Windowsの機能の有効化または無効化
ウィンドウを開いたら「仮想マシンプラットフォーム」にチェック。「Windowsハイパーバイザープラットフォーム」にもチェックを入れておくとVirtualBox(6.1.16以降)などと共存できるので吉。
disk.imgのマウントができない
day01において「sudo mount -o loop disk.img mnt」を実行すると「mount: ./mnt: mount failed: Operation not permitted.」というエラーが出る。自分の環境の場合、WSL1のまま動かしていたので2に変えてやる。
コマンドプロンプトかPowerShellで「wsl --set-version Ubuntu-20.04 2」を実行すれば勝手に更新されるが、自分の場合カーネルコンポーネントの更新をサボっていたためにエラーが発生した。更新後再度実行したら無事に終了。下記サイトにエラーの詳細と対処が細かく載っている。
WSL バージョンを変更する方法 | SEECK.JP サポート
QEMU環境で実行時に「Could not connect: Connection refused」が発生する
原理をまだ理解出来ていないが、WSL1とWSL2でネットワーク周りの仕様が変更された事が原因らしい。この場合DISPLAY環境変数を変えてやることで対処可能。
「~/.profile」内の「export DISPLAY=:0.0」を「export DISPLAY=\$(cat /etc/resolv.conf | grep nameserver | awk '{print \$2}'):0.0」に変えて保存。
その後、VcXsrvを起動する際にExtra Settingsにて「-ac」をAdditional parametersに追記してやる。どうやらパブリックアクセスを許可するためのパラメータらしい。
参考↓