contentqmk_firmwareをWindows上でmakeする方法MakeKeyboardqmk_firmware自作キーボードキットを作ると必ず通らなければならないのがmake作業。キーボードに書き込むソフトウェアを生成する作業です。最近の日本製キットはメイカーによってあらかじめmakeされたソフトウェアを書き込んだ状態で販売されていることもありますが、自作キーボードの醍醐味であるキーマップのカスタマイズをする場合には必須になってきます。windowsユーザーはどうにかしてlinux環境を構築して作業しなければなりません。前までならMinGWをインストールしたり仮想環境にLinuxを入れてそのうえで作業というのを強いられてきましたが、現在はWindows10に備わっているWSLでwindows環境を汚さず簡単にlinuxでのmake環境を構築できます。ここではWindows10で手軽に利用出来るWSLを利用したmake出来る環境を作って、実際にmakeしてみるところまでやっていきます。Configulatorを提供中です。Configuratorを使ってキーマップを書き換えようが丁寧に解説してくれているのでこちらを使う手もあります。10のスタートメニューのWindowsシステムツールにコントロールパネルがあるので開いて「プログラムと機能」を開きます。「Windowsの機能の有効化または無効化」を開きます。Linux」にチェック入れて、あとはOKとか押してってインストール完了させます。ベースが入ったらOSを選びます。Storeから選びます。検索にLinuxを入れればいくつか選べます。linuxを入れます。入れたらスタートメニューにアイコンが出てくるのでそれをクリックします。username:WSLにログインするユーザーを作成します。ユーザー名を入力してください。password:入力したユーザーのパスワードを設定します。パスワードを確認を含め二度同じものを入れてください(入力してもカーソルは動きませんがキー入力は受け付けています)。successful!ユーザー名@DESKTOP-ユニークID:~$これで出来ました。作成したユーザー名でログインした状態になっています。この画面ではwindowsのコマンドプロンプトのような感じでコマンドを入力して操作することになります。cloneしますwindowsでの操作に戻ります。zipをクリックしてダウンロードします。ダウンロードが完了したらどこか適当な場所にzipを展開します。展開した中身をWSLから参照します。基本的に起動ドライブに置いておけば問題ないと思いますがここではマイドキュメントに置きます。cloneをする方法に変更します。gitをインストールするqmk_firmwareをダウンロードするためにgitというものを使います。gitは以下のようにインストールします。sudoするとパスワードを聞かれるので先ほど入れたパスワードを入力します。qmk_firmwareをインストールしたいパスに移動します。qmk_firmwareをmakeする場所を決めておきます。基本的に起動ドライブに置いておけば問題ないと思いますがここではマイドキュメントに置きます。WSLからはWindowsのドライブはちょっと違う見え方になります。Cドライブなら/mnt/c/になります。あと\(円マーク)ではなく/(スラッシュ)を挟んでください。/mnt/c/Users/自分のユーザ名/Documents/ここでさきほどインストールしたgitコマンドを使ってqmk_firmwareのソースコードをcloneします。https://github.com/qmk/qmk_firmwarecloneが完了したらDocumentsフォルダにqmk_firmwareがあるので移動しておきます。qmk_firmwareqmk_firmwareにはほかに必要なソースコードやライブラリがsubmoduleというので管理されているので引っ張ってきます。updateWSLからqmk_firmwareのバッチを実行します次にmakeするのに必要なものをインストールします。パスワード入力待機状態になっていますので設定したものを入れてください(入力してもカーソルは動きませんがキー入力は受け付けています)。インストール過程で何度か質問されるのでそれに答えていきます。upgradeが呼び出されます。必要ない場合は、依存関係を手動でインストールできます。N)yQMKのコンパイルに必要なものなのでyを入力してください。nWSL上ではキーボードへの書き込みが出来ないのでnを入力してください。nあなたがプログラミングのためにそれを使いたいなら、Flipをインストールする必要があります。N)n不要なのでnを入力してください。qmk_utilsとして作成します。これはmakeシステムが必要とするすべてのユーティリティを見つけるために必要です。Cキーを押して中止)あとから必要なものなのでyを入力してください。activate_wsl.sh'を追加しますか?.bashrcファイル?このmakeがなければ、必要なutilを見つけることができないでしょう。それを自動的に行いたい場合は、後で手動で行う必要があります。yこれも必要なものなのでyを入力してください。yあなたのホームディレクトリのQMKリポジトリへのシンボリックリンクを追加しますか?利便性?ホームディレクトリに「qmk_firmware」フォルダが作成されます。将来的には、Windows上のフルパスの代わりにこのフォルダを使用することができますファイルシステム。yこれも必要なものなのでyを入力してください。properly******************************************************************************こんな感じのが出たらインストールは完了です。makeしてみよう今いるフォルダから移動します。~この~はlinux上ではユーザーホームといって、windowsでいうc:\Users\ユーザー名\の位置に該当します。WSLを開くと初期位置がこの位置になります。インストール時にフォルダをリンクしてもらっているので、このホームにリンクが張られています。-lこんな感じでフォルダのリンクが出来ています。/mnt/c/Users/[ユーザー名]/Documents/qmk_firmware/utilフォルダを移動します。qmk_firmwareこのフォルダでmakeをすることになります。お手持ちのキーボードキットのビルドガイド等にmakeの方法が書いてあるはずなのでそれを読んでmakeしましょう。helix:defaultでmakeすると以下のような感じでmakeされるはず。free)というのが出ます。free)こんな感じで出てればOKです。ファームウェアのファイルサイズが28762バイトを超えていないことも重要です。rules.mk等に編集を加えた場合でサイズを超えた場合はオプションを付けすぎている可能性があります。OKなんて全然出なくてエラーが出てくる場合はmakeで指定した名前が違う可能性や、rules.mkの編集に何かミスがあるのかもしれません。あとは書き込むだけこれでhexファイルが出来ましたのであとはキーボードに書き込むだけです。お手持ちのキーボードのビルドガイドをしっかり読んで書き込みを行ってください。upLoginユーザーは見つかりませんでした。