BobbyQuineのブログ(備忘録)

Linux関係の備忘録、その他タバコ、Vape関連なんかも。

自作キーボードのファームウェア焼き込み(QMK)をサクっとRaspberry Pi2でやっていく

備忘録

参考にしたページ

https://iot.keicode.com/raspberry-pi/faq-username.php

https://babe-mt.hatenablog.com/entry/2018/02/27/094353

https://r7cancer.hatenablog.com/entry/2019/10/18/153458

 

ベースは自分で前に書いたこれ

http://bobbyquine.hatenablog.com/entry/2018/09/18/143051

 

少しキーマップを変えようと思ったのだけれど,現在QMKファームウェアを焼き込める環境を持っていなかった.メイン環境に入れるのは何か嫌だったしArchなので必要パッケージを探し直すのも面倒くさかったため,部屋に転がってたRaspberry Piで焼き込んで見ることに.

ここではRaspberry Pi用のSDカードにOSを焼き込むところからやっていく.

ここからメインPCはArch,Raspberry PiはRasPiのプロンプト表示を行う.今回,Raspberry Piにはディスプレイ等はつながず,sshでの操作を考えている.

 

https://www.raspberrypi.org/downloads/raspbian/

ここからRaspbian Buster Liteのzipをダウンロードし,それを解凍する.ファイル名は時期によって日付が違うので注意

[Arch ] $ unzip 2020-02-13-raspbian-buster-lite.zip

 

そしてその後SDカードをArch に差し込み確認.

[Arch ] $ ls /dev/

ここでSDカードは

/dev/mmcblk0

であるとして先ほどDLし,解凍して得られたimgファイルをSDカードに焼き込んでいく.

[Arch ] $ sudo dd if=./raspbian-buster-lite.img of=/dev/mmcblk0

 

焼き込みが終わったら,今回はssh接続で作業を行っていくため,初回起動時からsshdを有効にしなければならない.

[Arch ] $ sudo mount /dev/mmcblk0p1 /mnt

[Arch ] $ sudo touch /mnt/ssh

[Arch ] $ sudo umount /mnt

 

終わったらSDカードをRaspberry Piにさして,LANケーブルを差し,電源を入れて起動する.

基本DHCP接続になっていると思うのでarp-scan でRasPiに割り当てられたIPアドレスを探す.

ここでArchのRasPiと接続しているインターフェースをenp1s0として,

[Arch ] $ sudo arp-scan -I enp1s0 -l

192.168.1.15      ab:cd:ef:gh:ij:kl      Raspberry Pi Foundation

と言うように分かる.

初期IDとパスワードはpi/raspberryであるから,

[Arch ] $ ssh pi@192.168.1.15

passward:raspberry

 

としてログイン.そうしたら

 

[RasPi ] $ sudo apt update && sudo apt upgrade

[RasPi ] $ sudo apt install git gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi arvdude

[RasPi ] $ git clone https://github.com/qmk/qmk_firmware.git

 

今回なぜかこれでmakeを行うと怒られた.どうにも~/qmk_firmware/lib/lufa/の中身が空っぽになってしまっている.しょうがないので

https://github.com/qmk/qmk_firmware

ここのなかからlufaディレクトリの中身だけzipでdlしてRasPiの方の空だったところにぶち込んだ.

 

ここから先は私の使用するergo42について書いていく.

そしたら~/qmk_firmware/keyboards/ergo42/keymaps/default/keymap.cをいじって好きな配列にしたらergo42を接続し

[RasPi ] $ cd ~/qmk_firmware/

[RasPi] $ make ergo42/rev1:default:avrdude

 

途中

Detecting USB port, reset your controller now..............

と出たらergo42のリセットボタンを押す.ちょっと待てば焼き込みは終わる.

ergo42は左右分離なので左右両方ともについて同様の作業を行う.