Giter Site home page Giter Site logo

sasakn / mikanos-devcontainer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sarisia/mikanos-devcontainer

0.0 0.0 0.0 28 KB

VSCode devcontainer for developing MikanOS

Home Page: https://zenn.dev/sarisia/articles/6b57ea835344b6

Dockerfile 100.00%

mikanos-devcontainer's Introduction

MikanOS-devcontainer

ゼロからのOS自作入門 で開発するOS (MikanOS) の 開発環境が設定された VSCode Devcontainer 設定ファイル.

ベースイメージの詳細については github.com/sarisia/mikanos-docker を参照してください.

使用例: github.com/sarisia/mikanos

使い方

テンプレートからリポジトリを作成

  1. 当リポジトリページの右上 "Use this template" からリポジトリを作成 (GitHub Docs)

  2. ローカルにチェックアウト

  3. VSCode で devcontainer を開く (VSCode Docs)

  4. 本の手順に従い VcXsrv を導入, 起動することで, QEMU での動作確認ができます

既存のリポジトリに追加

当リポジトリの .devcontainer ディレクトリ, 及び含まれるファイルをダウンロードし, 既存のリポジトリに追加してください.

M1 Mac で使う

クロスコンパイル関連の追加の設定が必要です. mikanos-docker のドキュメント を参照して下さい.

WSLg で動作確認

Windows 11, 及び Windows 10 21362以降では, WSLg を 利用することで, VcXsrv などを導入せずに QEMU での動作確認が可能です.

設定

  1. WSLg ドキュメント に従い, WSLg を有効化

  2. .devcontainer/devcontainer.json に設定を追加

    最新の .devcontainer/devcontainer.json を参考に, 以下の設定を追加:

    "mounts": [
        "type=bind,source=/tmp/.X11-unix,target=/tmp/.X11-unix"
    ],
    "containerEnv": {
        "DISPLAY": "${localEnv:DISPLAY}"
    },

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"
    },

カスタマイズ

環境変数を通じてカスタマイズが可能です. 詳細は mikanos-docker ドキュメント を参照して下さい.

トラブルシューティング

sarisia/mikanos-docker の Wiki をご確認ください.

バグ, 要望

Twitter (@A1ces)Issues で教えてくださると嬉しいです!

参考

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.