I managed to flash my keyboardio model 1 on Archlinux only with the Archlinux Arduino packages. I also use the upstream avr-gcc packaged by Archlinux without any symlink in /usr/share/arduino/hardware.
Here is my conf:
max@host % pwd
/home/max/Documents/personnel/keyboardio/flash
max@host % tree --noreport -L 3
.
├── hardware
│ └── keyboardio
│ └── avr
└── Model01-Firmware
└── …
max@host % cd hardware/keyboardio/avr
max@host % git diff
diff --git a/boards.txt b/boards.txt
index d36402a..75a36e0 100644
--- a/boards.txt
+++ b/boards.txt
@@ -33,6 +33,6 @@ model01.build.pid=0x2301
model01.build.usb_product="Model 01"
model01.build.usb_manufacturer="Keyboardio"
model01.build.board=AVR_MODEL01
-model01.build.core=arduino:arduino
+model01.build.core=archlinux-arduino:arduino
model01.build.variant=model01
model01.build.extra_flags={build.usb_flags} '-DKALEIDOSCOPE_HARDWARE_H="Kaleidoscope-Hardware-Model01.h"'
diff --git a/libraries/Kaleidoscope b/libraries/Kaleidoscope
--- a/libraries/Kaleidoscope
+++ b/libraries/Kaleidoscope
@@ -1 +1 @@
-Subproject commit fe71904441b6f02698ac59b53efae0c159bbb772
+Subproject commit fe71904441b6f02698ac59b53efae0c159bbb772-dirty
max@host % cd libraries/Kaleidoscope
max@host % git diff
diff --git a/etc/kaleidoscope-builder.conf b/etc/kaleidoscope-builder.conf
index b337973..472e0fe 100644
--- a/etc/kaleidoscope-builder.conf
+++ b/etc/kaleidoscope-builder.conf
@@ -1,5 +1,15 @@
# -*- shell-script -*-
+# perso for Archlinux packages
+ARDUINO_PATH=/usr/share/arduino
+ARDUINO_TOOLS_PATH=/usr/share/arduino/tools
+AVR_SIZE=/usr/bin/avr-size
+AVR_NM=/usr/bin/avr-nm
+AVR_OBJDUMP=/usr/bin/avr-objdump
+AVRDUDE=/usr/bin/avrdude
+AVRDUDE_CONF=/etc/avrdude.conf
+AVR_GCC_PREFIX=/usr
+
## NEEDS: LIBRARY, SKETCH, ROOT, SOURCEDIR
## Should be included when the current directory is the dir of the Sketch.
max@host % cd /home/max/Documents/personnel/keyboardio/flash/Model01-Firmware
max@host % make SKETCHBOOK_DIR=/home/max/Documents/personnel/keyboardio/flash flash
BOARD_HARDWARE_PATH="/home/max/Documents/personnel/keyboardio/flash/hardware" /home/max/Documents/personnel/keyboardio/flash/hardware/keyboardio/avr/libraries/Kaleidoscope/bin//kaleidoscope-builder flash
Building output/Model01-Firmware/Model01-Firmware (0.0.0-gv1.22-3-gb745) ...
…
Press ENTER when ready...
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices:
Device code: 0x44