Help us understand the problem. What is going on with this article?

WindowsでNervesやるならWSL2+Docker+VSCode

Windows 10 + WSL2 + Docker + VSCodeで、Nerves開発環境をサクッと作れるdevcontainerを作りました。

変更履歴

Date Author ChangeLog
2020/7/11 @matsujirushi id_rsaのリンク作成コマンドを訂正

devcontainerとは?

その名のとおり、開発(development)に使うDockerコンテナ(container)です。
VSCode拡張のRemote - Containersがこのフォルダ(ファイル?)を開くと、定義されたDockerコンテナを構築して良い感じにフォルダをマウント、VSCodeから操作することができるようになります。

Developing inside a Container

Nerves開発環境を作る

事前準備

  1. Windows 10 バージョン2004を用意(アップグレード?)する
  2. WSL2を有効にする
  3. Docker Desktopをインストールする

これでは良く分からないという方は、、、こちらをご参照くださいませ。

Nerves開発用devcontainerをクローン

適当なフォルダにgit cloneしてください。

git clone https://github.com/matsujirushi/nerves-devcontainer

VSCodeでdevcontainerを起動する

Remote Development拡張を入れたVSCodeのRemote-Container: Open Folder in Containerで、.devcontainerのあるフォルダを開いてください。

image.png

image.png

すると、、、Dockerコンテナの作成が始まって、、、

image.png

はいっ、完成。

image.png

メニューの表示 > ターミナルで、Dockerコンテナ内のシェルが表示できます。

/workspaces/nerves-devcontainer 配下が、git cloneしたところにマウントされているので、消えたら困るファイルはここに置くようにしましょう。

Nervesサンプルをビルド

(任意)キーの作成

Nervesのビルドにキーが必要です。無い場合は下記コマンドで作成してください。
~/.sshに作ると、、、Dockerコンテナと一緒に消えて無くなってしまうので、/workspaces/nerves-devcontainer/.sshにシンボリックリンクで対処します。

mkdir .ssh
ssh-keygen -t rsa -f .ssh/id_rsa
ln -s `pwd`/.ssh/id_rsa* ~/.ssh/

Nervesサンプルを作成、ビルド

こんな感じ。

mix nerves.new hello_nerves
cd hello_nerves
export MIX_TARGET=rpi3
mix deps.get
mix firmware

イメージファイルの書き込み

ビルド結果のイメージファイルをmicroSDなどにフラッシュするときは、Windowsのコマンドプロンプトでfwup.exeすればOK。

matsujirushi
SeeedKKの中の人。Microsoft MVP for Windows Development & Azure。
http://matsujirushi.hatenablog.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away