VSCode devcontainer for developing MikanOS
ゼロからのOS自作入門 で開発するOS (MikanOS) の 開発環境が設定された VSCode Devcontainer 設定ファイル.
ベースイメージの詳細については github.com/sarisia/mikanos-docker を参照してください.
使用例: github.com/sarisia/mikanos
当リポジトリページの右上 "Use this template" からリポジトリを作成 (GitHub Docs)
ローカルにチェックアウト
VSCode で devcontainer を開く (VSCode Docs)
本の手順に従い VcXsrv を導入, 起動することで, QEMU での動作確認ができます
当リポジトリの .devcontainer
ディレクトリ, 及び含まれるファイルをダウンロードし,
既存のリポジトリに追加してください.
クロスコンパイル関連の追加の設定が必要です.
mikanos-docker
のドキュメント を参照して下さい.
Windows 11, 及び Windows 10 21362以降では, WSLg を 利用することで, VcXsrv などを導入せずに QEMU での動作確認が可能です.
WSLg ドキュメント に従い, WSLg を有効化
.devcontainer/devcontainer.json
に設定を追加
最新の .devcontainer/devcontainer.json
を参考に, 以下の設定を追加:
"mounts": [
"type=bind,source=/tmp/.X11-unix,target=/tmp/.X11-unix"
],
"containerEnv": {
"DISPLAY": "${localEnv:DISPLAY}"
},
VNC 設定を有効にすることで, ホストに X11 Server を用意すること無く, MikanOSの 動作確認をすることが可能です. また, GitHub Codespaces を利用することで, ブラウザのみでコーディング&動作確認を完結することができます.
利用するイメージを ghcr.io/sarisia/mikanos:vnc
に設定
.devcontainer/Dockerfile
を直接変更する, もしくは最新の
.devcontainer/devcontainer.json
と .devcontainer/Dockerfile
を参考に設定して下さい.
devcontainer 設定を追加
最新の .devcontainer/devcontainer.json
を参考に, 以下の設定を追加して下さい:
"forwardPorts": [6080],
"overrideCommand": false,
"containerEnv": {
// Port for noVNC Web Client & WebSocket
"NOVNC_PORT": "6080",
// VNC port QEMU listens. Default to 5900 + <display number>
// If you run QEMU with "-vnc :1", then VNC_PORT should be 5901.
"VNC_PORT": "5900",
// QEMU launch options. Used in `run_image.sh`
"QEMU_OPTS": "-vnc :0"
},
環境変数を通じてカスタマイズが可能です. 詳細は mikanos-docker ドキュメント を参照して下さい.
sarisia/mikanos-docker
の Wiki をご確認ください.
Twitter (@A1ces) や Issues で教えてくださると嬉しいです!