Skip to content

feat: optional HackerGadgets AIO V1/V2 extension board support - #5

Merged
fabiiw05 merged 1 commit into
mainfrom
feat/aio-extension-board
Jul 12, 2026
Merged

feat: optional HackerGadgets AIO V1/V2 extension board support#5
fabiiw05 merged 1 commit into
mainfrom
feat/aio-extension-board

Conversation

@fabiiw05

Copy link
Copy Markdown
Owner

概要 / Summary

HackerGadgets uConsole AIO V1/V2 拡張ボード(RTL-SDR / LoRa SX1262 / GPS / PCF85063A RTC / USB ハブ)をオプトインで有効化できるようにします。SKIP_CHROOT と同じ流儀のビルド時トグル AIO_BOARD(未設定 / v1 / v2)を追加。未設定なら既定イメージは完全に不変です。

公式セットアップガイド

変更点 / Changes

  • build.sh: AIO_BOARD 設定+バリデーション。apply_aio_config() が CM4 用オーバーレイ(i2c-rtc,pcf85063a / spi1-1cs、GPS は既存の enable_uart=1)を reapply_boot_config/boot/config.txt へ追記。v2 は GPIO 制御の GPS/LoRa/SDR/内部USB ラインを high に(gpio=7,16,23,27=op,dh)。AIO_BOARD を chroot 環境へ受け渡し。
  • scripts/build-kernel.sh: rtc-pcf85063 / spidev をモジュールとして常時有効化(ボードが無ければロードされないので無害)。
  • scripts/customize.sh: AIO_BOARD 設定時のみ RTL2832 系 DVB ドライバを /etc/modprobe.d でブラックリスト化(libusb SDR ツールがドングルを掴めるように)。
  • ドキュメント(README / MAINTAINING、EN+JA): 使い方・環境変数表の行・実機更新の注意(update.shconfig.txt を再配置し AIO 行をリセットする点)。

スコープ / Scope

ハードウェア有効化のみ。ユーザ空間 SDR/LoRa アプリ(SDR++/meshtasticd)はベンダの apt/.deb が Arch に存在しないため焼き込まず、README で AUR を案内。

検証 / Verification

  • bash -n build.sh scripts/*.sh OK
  • AIO_BOARD 未設定 → config.txt md5 不変(既定パス安全)
  • v1/v2 で正しいブロック追記(v2 は gpio= 行あり)、不正値は拒否
  • V2 GPIO 番号・config.txt 行は公式ガイドと照合済み ✅
  • ⚠️ 実機未検証(ビルド検証のみ)。ボード装着後に dmesg/timedatectlrtc-pcf85063/dev/spidev1.*rtl_test での確認が必要。

🤖 Generated with Claude Code

Add an opt-in AIO_BOARD build-time toggle (unset / v1 / v2) that enables
the HackerGadgets uConsole AIO board (RTL-SDR / LoRa SX1262 / GPS /
PCF85063A RTC / USB hub). Unset leaves the image byte-for-byte unchanged.

- build.sh: AIO_BOARD setting + validation; apply_aio_config() appends the
  board's CM4 overlays (i2c-rtc,pcf85063a / spi1-1cs; GPS via existing
  enable_uart=1) to /boot/config.txt after reapply_boot_config. v2 also
  drives the GPIO-gated GPS/LoRa/SDR/internal-USB rails high
  (gpio=7,16,23,27=op,dh, verified against the vendor guide). AIO_BOARD is
  threaded into the chroot env.
- build-kernel.sh: enable rtc-pcf85063 and spidev modules unconditionally
  (only load when the board is present).
- customize.sh: gated /etc/modprobe.d blacklist of the RTL2832 DVB drivers
  so libusb SDR tools can claim the dongle.
- Docs (README/MAINTAINING, EN+JA): usage, env-var row, and the on-device
  update caveat (update.sh reinstalls config.txt, resetting AIO lines).

Hardware enablement only; userspace SDR/LoRa apps (SDR++/meshtasticd) are
left to the user since the vendor's apt/.deb packages don't exist on Arch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@fabiiw05
fabiiw05 merged commit 5dabdab into main Jul 12, 2026
2 checks passed
@fabiiw05
fabiiw05 deleted the feat/aio-extension-board branch July 12, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant