Login
BeagleY-AI BSP manifest
Login

Versions and patches for building the BeagleY-AI boot chain and kernel in BQ2. They were taken from upstream armbian/build at 9037a63 (2026-10-10): config/boards/beagley-ai.conf, config/sources/families/k3-beagle.conf and config/sources/families/include/k3_common.inc, BRANCH=vendor. Armbian is only a reference here; nothing below needs its build framework.

Sources

Component Repository Ref Notes
Linux https://github.com/beagleboard/linux v6.12.49-ti-arm64-r56 DT ti/k3-am67a-beagley-ai.dtb, console ttyS2
U-Boot https://github.com/beagleboard/u-boot v2025.07-am6232-pocketbeagle2 Armbian carries no U-Boot patches for this board
TF-A https://github.com/TexasInstruments/arm-trusted-firmware 11.00.09 PLAT=k3 TARGET_BOARD=lite → bl31.bin
OP-TEE https://github.com/OP-TEE/optee_os 4.6.0 PLATFORM=k3-am62x CFG_ARM64_core=y → out/arm-plat-k3/core/tee-pager_v2.bin
ti-linux-firmware https://github.com/TexasInstruments/ti-linux-firmware 11.02.15 SYSFW/DM; this version is needed for the EdgeAI 11.02 IPC ABI on J722S
CC33xx Wi-Fi firmware https://repos.rcn-ee.com/debian-arm64/pool/main/b/bbb.io-cc33xx-1.0.2.10-firmware/ 1.20260901.0 (source tarball, sha256 pinned) firmware 1.7.0.316 (SDK 1.0.2.10), what the kernel's cc33xx driver expects: cc33xx-conf.bin is 1282 bytes. ti-linux-firmware's 2024 files (1353-byte conf) fail with "FW download failed"
wireless-regdb https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/ 2026.09.03 (tarball, sha256 pinned) regulatory.db and regulatory.db.p7s in /lib/firmware; the kernel checks the signature with its built-in keys (wens.hex). There is no cc33xx-nvs.bin: the cc33xx driver reads only a MAC address from it, and without it uses the chip's own from its EFUSE (TI's 10:ca:bf block on the board tested). BeagleBoard.org's package ships none either
libnl https://github.com/thom311/libnl/releases 3.11.0 (tarball, sha256 pinned) libnl-3 and libnl-genl-3 only, static; no flex or bison needed for those
wpa_supplicant https://w1.fi/releases 2.11 (tarball, sha256 pinned) wpa_supplicant.config: nl80211, internal TLS, WPA2-PSK, static

U-Boot build (two passes)

  1. R5 SPL (32-bit Arm, ARCH=arm): am67a_beagley_ai_r5_defconfig, with BINMAN_INDIRS=<ti-linux-firmware>. Output tiboot3-j722s-hs-fs-evm.bin → tiboot3.bin.
  2. A53 (ARCH=arm64): am67a_beagley_ai_a53_defconfig, with BL31=bl31.bin, TEE=tee-pager_v2.bin and BINMAN_INDIRS=<ti-linux-firmware>. Outputs tispl.bin and u-boot.img.

All three files go on the FAT boot partition, which is the first partition (type 0x0e, boot flag set).

binman: bin/cleave-binman (Crystal, from this repository) takes the place of U-Boot's Python binman. Link it to tools/binman/binman before each pass. See docs/cleave-binman.md.

Kernel patches (Armbian patch/kernel/archive/k3-beagle-6.12/)

Config: Armbian's config/kernel/linux-k3-beagle-vendor.config (1092 lines), plus kernel-jkembedded-audio.config from this directory.

Toolchain notes for BQ2 (LLVM/Clang, musl)

Copied into this repository

Building

tools/build-beagley-ai-bsp.sh job WORK, on an aarch64 host with bubblewrap:

  1. fetches and patches the sources above, at pinned commits;
  2. unpacks the BQ2 seed;
  3. builds everything inside it: LLVM with ARM, the cleave tools, TF-A, OP-TEE, U-Boot R5 and A53, Linux (with kernel-wifi.config, the CC33xx SDIO driver), and the Wi-Fi userspace.

The results go to WORK/out: boot/ (tiboot3.bin, tispl.bin, u-boot.img, Image, dtb/ti/), modules.tar.gz, and wifi/, a root layer with wpa_supplicant, wpa_cli, the CC33xx firmware and the signed regulatory database.