Edited at
ErgoDoxDay 24

ErgoDoxのファームウェア(qmk_firmware)をDockerでビルドする

More than 1 year has passed since last update.

この記事はErgoDox Advent Calendar 201624日目の記事です。

昨日はgrimrose@githubさんのErgoDoxのキーキャップを注文してみましたでした!


はじめに

自分がErgoDoxに関して語りたい事は概ねこちらのFalbaTech製ErgoDoxを使ってみたに書いてしまったのですが、こちらの記事で書かれているDockerを使ったファームウェアのビルド手順が少々わかりづらいので、改めてビルド手順だけをまとめておきます。


Dockerの環境を整備する

当然ですが、まずはDockerの環境を構築する必要があります(既に構築済みであれば、この章は飛ばしてしまってOKです!)


ArchLinux

筆者の環境はArchLinuxなので紹介しておきます(とは言っても、殆どArchWikiでの説明と一緒です👾)

まず、 docker パッケージをインストールします。

yaourt -S docker # sudo pacman -S dockerでも可

インストールした後、利用したいユーザー(仮に user としています)を docker グループへ追加します。

sudo gpasswd -a user docker

インストール出来ていて、かつ利用したいユーザーから利用できる事を確認します。

docker info


Mac OS

極めて単純ですが、Macでの構築方法も記載しておきます。

まず、こちらのサイトからDocker for Macをダウンロード、指示に従ってインストールします。

インストール後、アプリケーションフォルダからDockerを起動し、動作している事が確認出来れば導入は完了です。

docker info


ErgoDoxのファームウェアをビルドする

導入したDockerを使ってファームウェアをビルドする方法はこちらに記載されていますが、こちらの例で使用しているコンテナは既に削除されており、そのままでは動作しません。

代わりにedasque氏のコンテナを使用できるため、以下のコマンドを実行すればファームウェアを実行できます。

cd ~/keyboard/qmk_firmware

docker run -e keymap=my-keymap -e keyboard=ergodox --rm -v $('pwd'):/qmk:rw edasque/qmk_firmware

my-keymap を自分が作成したキーマップフォルダ(keyboards/ergodox/my-keymap)として実行し、無事ビルドが完了すれば ergodox_ez_my-keymap.hex が作成される筈です。


2018年3月1日更新


  • edasque氏のコンテナイメージへ変更