ゼロからのOS自作入門の環境構築で詰まった
M1 macでこれをしようと思ったのだが、環境構築でだいぶ詰まった。その際、この方の記事を参考にdockerを使った。
ただ、dockerで起動確認をしようとしたのだが、最後のコマンド
qemu-system-x86_64 -drive if=pflash,format=raw,file=$HOME/osbook/devenv/OVMF_CODE.fd -drive if=pflash,format=raw,file=$HOME/osbook/devenv/OVMF_VARS.fd -drive file=disk.img,format=raw,index=0,media=disk
で次のエラーが出て、起動できなかった。
Unable to init server: Could not connect: Connection refused
gtk initialization failed
解決方法
docker起動時に、dockerコンテナとホストマシンとのネットワークを共有するように設定する必要があった。具体的には、
.devcontainer/devcontainer.jsonの30~32行目を次のように変えた。
"remoteUser": "vscode",
"runArgs": [
"--privileged", "--net=host"
]
つまり、オプションに"--net=host"を加えた。
これで動作確認できた。めでたしめでたし。
備考
docker以外にも色んなやり方をやってて、これも無理、あれも無理と言っているうちに、気付いたら1日を溶かしていた。1日かけてようやく起動確認できた。ここまで「Hello, world!」の文字列に喜んだのは初めて。