MikanOS-devcontainer
ゼロからのOS自作入門 で開発するOS (MikanOS) の 開発環境が設定された VSCode Devcontainer 設定ファイル.
ベースイメージの詳細については github.com/sarisia/mikanos-docker を参照してください.
使用例: github.com/sarisia/mikanos
使い方
テンプレートからリポジトリを作成
-
当リポジトリページの右上 "Use this template" からリポジトリを作成 (GitHub Docs)
-
ローカルにチェックアウト
-
VSCode で devcontainer を開く (VSCode Docs)
既存のリポジトリに追加
当リポジトリの .devcontainer
ディレクトリ, 及び含まれるファイルをダウンロードし,
既存のリポジトリに追加してください.
M1 Mac で使う
クロスコンパイル関連の追加の設定が必要です.
mikanos-docker
のドキュメント を参照して下さい.
VNC イメージ
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" },
-
(GitHub Codespaces) ポートを公開
GitHub Codespaces でのコンテナ作成後に, エディタ下部
Port
タブより,NOVNC_PORT
を "Make Public" に設定して下さい:
カスタマイズ
環境変数を通じてカスタマイズが可能です. 詳細は mikanos-docker ドキュメント を参照して下さい.
バグ, 要望
Twitter (@A1ces) や Issues で教えてくださると嬉しいです!
参考
- Docker ではじめる "ゼロからのOS自作入門" | Zenn
- 「ゼロからのOS自作入門」の副読本的記事 | Zenn
- devcontainer の起動方法や, macOS での X11 Server の設定などが大変分かりやすく説明されています