WSL+dockerでQMKを爆速環境構築&ビルドする

 

qmk_firmwareは自作キーボード用のファームウェアで、ファームウェアの完成度の高さや機能性が魅力ですが、度々破壊的変更をしてはビルド方法が変わったりして、変更を追従するのが大変です。

qmk_msysで苦しめられた方も多いと思います。

今回、久しぶりにqmkを触るにあたり、WSLの中にdocker環境を構築し、qmk_firmwareをビルドする方法で環境構築からビルドまでを15分以内にできたため共有します。

 

前提

前提として、WSLのインストールは事前に済ませているものとします。

この記事では成果物をキーボードにフラッシュする方法は説明しません。他記事を参照してください。

また、この記事を参考にして行ったことに対して私は一切の責任を負いません。

 

1.Microsoft StoreからUbuntuをインストールする

スタートメニューから"store"と検索するとMicrosoft Storeがあります。

Microsoft Storeの検索窓から"Ubuntu"などと検索するとUbuntuが出てくるのでお好きなバージョンのUbuntuをインストールします。

私はUbuntu 24.04 LTSを使います。

 

インストールが完了したら開きます。

WSLがインストールされて入れば無事に開けるはずです。

ユーザーネームやパスワードを求められるので良しなに設定します。

 

2.UbuntuにDocker Engineをインストールする

Ubuntuのターミナルから以下のコマンドを実行してDoicker Engineをインストールします。

Docker Desktopを推奨する旨が表示されますが、無視して待ちます。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

次に、非ルートユーザーでもdockerを操作できるようにします。

sudo usermod -aG docker $USER

 

3.qmkをクローンしてビルドする

以下のコマンドでqmkをクローンします。

git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
cd qmk_firmware

開発はvscodeを使って行いたいため、vscodeを起動します。

code .

vscodeが起動したら以降はvscode内のターミナルから操作するのが便利だと思います。

早速以下コマンドでpistachio_proをビルドしてみましょう。

util/docker_build.sh rate/pistachio_pro:default

無事成功すれば環境構築&ビルドまで完了です!お疲れ様でした。

4.ビルド成果物について

ビルド成果物はqmk_firmware直下に.hexや.uf2ファイルが出力されますが、vscodeからだとデフォルトで見えない設定となっています。

.vscode/settings.jsonファイルの以下部分を消すと見えるようになります。

 "files.exclude": {
"**/.build": true,
"**/*.hex": true,
"**/*.bin": true,
"**/*.uf2": true
},

Windows側に成果物が欲しい場合は以下のいずれかの方法で取得できます。

  1. \\wsl.localhost\Ubuntu-24.04\home\rate\qmk_firmwareのようなパスでwsl上のqmk_firmwareのパスにアクセスする
  2. vscode上からファイルを右クリックしてdownloadする

 

おわりに

数年前はかなり苦労したqmk_firmwareの環境構築&ビルドですが、wsl+dockerを使えば簡単にできるということが分かりました。

開発者の健闘を祈ります!