Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
|
2026-11-10
| ||
| 21:01 |
README.md: link the Big Picture page as Markdown; its HTML version is gone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KPCjhu4FTRbCt96bA7 Leaf check-in: 35d39ee1dd user: x86-1-cleave tags: trunk | |
| 20:54 |
README.md opens with cleave's purpose, as the maintainer confirmed it on the Big Picture page: voice on BeagleY-AI, the first system booted into BQ2, where a local model is meant to run, tied to gp-crystal. Then what it's made of, how it's shaped, what success looks like (eight items, each with its status and evidence linked), the four virtues, building and working on it. Terms defined where first used, after two cold reads by fresh agent sessions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KPCjhu4FTRbCt96bA7 check-in: d1da5e1c8e user: x86-1-cleave tags: trunk | |
|
2026-11-09
| ||
| 11:06 |
beagley-ai: the signed wireless regulatory database (wireless-regdb 2026.09.03) in the Wi-Fi layer's /lib/firmware, so cfg80211 stops failing to load regulatory.db. Its regulatory.db.p7s verifies against wens.x509.pem, which matches the kernel's built-in net/wireless/certs/wens.hex. No cc33xx-nvs.bin: the cc33xx driver (main.c, cc33xx_derive_mac_addresses) reads only a MAC address from it, and without it uses the chip's EFUSE address; the board's wlan0 had 10:ca:bf:d6:32:10, in TI's IEEE block, not a random local address. The handoff's nvs gap was a misreading of the missing-file message.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KPCjhu4FTRbCt96bA7 check-in: b873e3f965 user: x86-1-cleave tags: trunk | |
|
2026-11-03
| ||
| 05:28 |
ocx-node/run-aarch64.md: the aarch64-1 build pattern in OCX protocol version 2: content only (create adds to, clone, objective, of), with v2's key names (linux_capabilities, isolate_terminal, ends_with_parent, created_files) and values (process_user, repository_name), and the create command that sends it to aarch64-1-cleave. Not yet usable: create takes a pattern only from a version that admin or setup sent.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KPCjhu4FTRbCt96bA7 Leaf check-in: 90c85fcf6a user: x86-1-cleave tags: protocol-v2-pattern | |
| 00:37 |
BeagleY-AI image: Wi-Fi and hostname from bb-imager-rs's cloud-init customization.
cleave-provision (the provision service) writes /run/wpa_supplicant.conf at boot: /boot/wpa_supplicant.conf as it is, or else the networks in network.wifis.*.access-points of the /boot/cloud-init file bb-imager-rs writes, and sets its hostname. The wifi service reads /run/wpa_supplicant.conf. Users, keys, timezone, keyboard and the sysconf format are not read yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KL9SS32htCEqaYUV91 check-in: 8a567c5da3 user: x86-1-cleave tags: trunk | |
|
2026-11-02
| ||
| 23:51 |
ocx-node/run-aarch64.md: ask for /etc/ssl/certs, not /etc/ssl. The node's R limits allow only the former; on Alpine curl and git read their CA bundle there.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KL9SS32htCEqaYUV91 check-in: 9197c8a966 user: x86-1-cleave tags: trunk | |
| 23:23 |
ocx-node/run-aarch64.md: runs go to aarch64-1-cleave, the node's cleave login since it moved into OCX's version-1 node container (credentials/cleave.json) on Nov 2.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KL9SS32htCEqaYUV91 check-in: db1bb297d4 user: x86-1-cleave tags: trunk | |
| 16:25 |
beagley-ai: CC33xx firmware 1.0.2.10 from BeagleBoard.org's package, and a quiet mdev
The kernel's cc33xx driver (beagleboard/linux v6.12.49-ti-arm64-r56, updated to match cc33xx SDK 1.0.2.10) expects firmware 1.7.0.316, whose cc33xx-conf.bin is 1282 bytes. ti-linux-firmware 11.02.15 (and its 6.12 branches) still has the 2024 firmware: on the board the driver said 'configuration binary size is wrong, expected 1282 got 1353', then 'FW is stuck' and 'FW download failed', and no wlan0 appeared. The BSP build now takes cc33xx_fw.bin, cc33xx_2nd_loader.bin and cc33xx-conf.bin from the source tarball of bbb.io-cc33xx-1.0.2.10-firmware 1.20260901.0 on repos.rcn-ee.com (sha256 pinned), and no longer checks out ti-connectivity from ti-linux-firmware. Tested on the board by hand, not yet by a build: with these three files in /lib/firmware/ti-connectivity and the modules loaded one alias at a time, wlan0 came up, associated over WPA2-PSK, and got an address, route and DNS by DHCP. The mdev service also sends modprobe's stderr to /dev/null: busybox modprobe prints 'module not found' for every alias with no module, even with -q. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KL9SS32htCEqaYUV91 check-in: c78d3e431d user: x86-1-cleave tags: trunk | |
| 15:23 |
beagley-ai: load the modules of devices present at boot one modalias at a time
The seed's busybox modprobe takes only -r and -q (its usage on the board: modprobe -rq MODULE), so the mdev service's xargs modprobe -qa failed and loaded nothing at boot. On the first boot of the Wi-Fi image only cfg80211 and rfkill were loaded, the SDIO card (sdio:c00v0097d4077) stayed without cc33xx_sdio, there was no wlan0, and wpa_supplicant and udhcpc on wlan0 kept failing. busybox's modules.dep.bb does list cc33xx_sdio for sdio:c*v0097d4077*, so loading each alias should bring it in. Not yet boot-tested. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KL9SS32htCEqaYUV91 check-in: 9a0ea79b24 user: x86-1-cleave tags: trunk | |
|
2026-10-26
| ||
| 10:24 |
kconfig: the zephyr dialect closer to Kconfiglib
- source globs as Python's glob does (no ** recursion, no {a,b}, hidden names only for a part starting with .), with a small fnmatch, not Crystal's Dir.glob; - calls to Zephyr's functions checked against kconfigfunctions.py's argument counts, with Kconfiglib's error; Linux's 15-argument limit does not apply there; - values as Kconfiglib calculates them where it differs from Linux's C: imply only while direct dependencies are met; an int/hex user value outside the range falls back on the defaults, and clamped values are written as Python writes them; a choice member set to n leaves the choice's default selected; - Cleave::Kconfig::Functions, an alias of Config::Functions. Specs for each, for optional choices, and for Glint's Kconfiglib values of PRIVILEGED_STACK_SIZE (arm64 2048, x86_64 none). Zephyr v4.4.2's whole tree for qemu_cortex_a53 still reads with no warnings. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 32f9484084 user: claude-49343b tags: trunk | |
| 05:40 |
kconfig: a zephyr dialect (Kconfiglib), and errors at the line at fault
For Glint, whose task parses Zephyr's Kconfig (its report cleave-zephyr-kconfig-dialect.md). --dialect zephyr / Dialect::Zephyr is Linux's with Kconfiglib's additions, as Zephyr v4.4.2's scripts/kconfig has them: globbing source, rsource, osource, orsource (and gsource, grsource); optional choices; boolean, def_int, def_hex, def_string; configdefault; os.path.expandvars and backslash continuation in strings; a direct dependency of y for an unconditional definition; and kconfigfunctions.py: the arithmetic and string functions, and the dt_* functions answering as Kconfiglib does with no devicetree unless the caller gives answers (Config.load's functions, or --functions FILE). Zephyr v4.4.2's whole tree for qemu_cortex_a53 reads with no warnings, in about 5 s. For every dialect: a syntax error now names the first line left unreduced inside the blocks, not the block's opening line; and the lexer handed the preprocessor byte offsets it read as character offsets, so after a character of more than one byte a $(...) expanded wrongly, and could loop forever. The BeagleY-AI kernel's syncconfig output is unchanged (.config and all 2,849 include/ files). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 42316ae74d user: claude-49343b tags: trunk | |
| 04:29 |
build-beagley-ai-bsp: libnl with LLVM's ar, ranlib and nm
libnl's configure stopped in the seed: "could not determine link -lib interface", as the seed has no ar. Name LLVM's, and link them into the build's bin when LLVM installed them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 3f3a426db0 user: claude-49343b tags: trunk | |
| 03:53 |
beagley-ai: Wi-Fi (CC33xx over SDIO, WPA2-PSK, DHCP)
The kernel builds the CC33xx SDIO driver (kernel-wifi.config); the BSP build adds wpa_supplicant 2.11 and wpa_cli, linked statically with libnl 3.11's libnl-3 and libnl-genl-3 (no flex or bison: only the route library needs them), and the CC33xx firmware from ti-linux-firmware, as a root layer. mdev loads modules by modalias, at hotplug and for the devices there at boot. The wifi and wifi-dhcp services read the network from /boot/wpa_supplicant.conf on the FAT partition, so no credentials are in the image. The serial console no longer waits for mdev. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 70e79c37ca user: claude-49343b tags: trunk | |
| 03:43 |
beagley-ai: mdev as the hotplug helper, and the image's mount points
The first boot to cleave-init: mdev failed (status 1), since the kernel has no CONFIG_UEVENT_HELPER and so no /proc/sys/kernel/hotplug, and with it the console, ethernet and time services; and the kernel could not mount devtmpfs, as the root has no /dev (the seed has no mount points and Fossil keeps no empty directory). Turn the helper on, let mdev -s run without it, and make /dev, /proc, /sys, /run and /tmp in the image. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 7c953f8299 user: claude-49343b tags: trunk | |
| 02:56 |
bsp/beagley-ai: U-Boot proper's .bss where ld.lld can place it
The initcall trace stopped after board_init_f's last initcall: ld.lld puts arm64's .bss (OVERLAY) at address 0, so __bss_start is 0 and every BSS variable is wrong after relocation. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: aa583ff07f user: claude-49343b tags: trunk | |
| 01:14 |
ocx-node: OCX aa650c80c410, with r-senders.json in the release
OCX now reads what runs from a user holding R may ask for from the release it runs, not the node directory (OCX decision 105), and a node whose release has no r-senders.json refuses every such run, as aarch64-1 did ticket c4a6935692. Build ours into the release; same bounds as before. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 9f549d7c3b user: claude-49343b tags: trunk | |
|
2026-10-24
| ||
| 00:35 |
binman: x86 ROM layout, fdtmap, image-header, -u and SPL symbols
For U-Boot 2026.07 qemu-x86_64's u-boot.rom (asked for by Glint): - layout as binman packs: offset, size, pad-before/after, min-size, pad-byte, sort-by-offset, skip-at-start and end-at-4gb, with its overlap and size errors; - x86 entries: u-boot(-spl,-tpl)-with-ucode-ptr without microcode, u-boot-dtb-with-ucode, x86-start16*, x86-reset16*, files (no matches); - fdtmap and image-header; - -u: offset, size, image-pos and skip-at-start written into U-Boot's device tree the way libfdt writes them (src/cleave/fdt_edit.cr), and bootph propagation; - _binman_* symbols written into SPL/TPL/VPL from their ELF. K3 output is unchanged: tiboot3.bin, tispl.bin and u-boot.img from two local BeagleY-AI builds are byte-identical with -u. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: c05822f40b user: claude-49343b tags: trunk | |
|
2026-10-23
| ||
| 07:43 |
kconfig: a qemu dialect, for QEMU's source lines
QEMU (as of 11.1.2) writes source paths unquoted and relative to the including file's directory. --dialect qemu (Dialect::Qemu) is Linux's otherwise. Asked for by Glint, whose minikconf staged a rewritten copy of the tree to get around it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 8385bfd645 user: claude-49343b tags: trunk | |
|
2026-10-22
| ||
| 22:38 |
bsp/beagley-ai: trace U-Boot's initcalls on the debug UART
U-Boot proper stops after printing the DRAM size. Name each initcall on the debug header to see where. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: d5d84f626e user: claude-49343b tags: trunk | |
|
2026-10-21
| ||
| 18:09 |
bsp/beagley-ai: the same binman symbol fix for the A53 SPL
Its armv8 linker script has the same orphan .binman_sym: the local build's u-boot-spl-nodtb.bin ends 24 bytes before _image_binary_end. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: d65980ea77 user: claude-49343b tags: trunk | |
| 18:09 |
bsp/beagley-ai: keep the R5 SPL's binman symbols in its image
The debug UART checkpoints showed the R5 SPL stopping with "Missing DTB" in spl_early_init(): with ld.lld, .binman_sym is an orphan placed after everything objcopy copies, so the DTB is appended 12 bytes before _image_binary_end. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: a243bff2f5 user: claude-49343b tags: trunk | |
| 17:24 |
bsp/beagley-ai: debug UART checkpoints in the R5 SPL
Our tiboot3.bin is still silent with the secure proxy fix: print a line at each step of k3_spl_init() on the debug header to find where it stops. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 9dd8042568 user: claude-49343b tags: trunk | |
| 00:43 |
bsp/beagley-ai: secure proxy alignment fixes for TF-A and U-Boot
Board testing: our BL31 took an alignment fault (ESR_EL3 0x96000061) in ti_sci_transport_recv, and our R5 SPL printed nothing. Both secure proxy drivers copy packed TI-SCI messages as 32-bit words; clang leaves them unaligned, and alignment checking is on. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 4261d571dd user: claude-49343b tags: trunk | |
|
2026-10-20
| ||
| 21:14 |
tools: serial-relay.sh, a board's serial console through unversioned files
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 04a53e5152 user: claude-49343b tags: trunk | |
|
2026-10-19
| ||
| 21:10 |
build-beagley-ai-bsp: compress the SD image outside the seed (busybox xz only decompresses)
Run 18 built everything, including the 3282 MiB SD image, and shared the boot files, kernel, DTBs and modules; only xz -T0 failed in the seed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: c422963578 user: claude-49343b tags: trunk | |
| 20:46 |
BSP job builds the SD image in the seed; modules.dep made at first boot
After the kernel, the job builds sdcard.img in the seed (cleave-init built natively, the new boot files and modules as layers) and compresses it with xz. cleave-init runs depmod -a before mdev, since busybox depmod cannot write modules.dep at build time. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 5b3672aecb user: claude-49343b tags: trunk | |
| 19:12 |
build-beagley-ai-bsp: skip depmod at modules_install (busybox depmod ignores -b)
Run 15 built the whole kernel in the seed; only depmod failed after installing modules. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: b7dd387a4d user: claude-49343b tags: trunk | |
| 18:50 |
Kernel in the seed without Perl: cleave-oid-registry; no SHA-2 perlasm
The seed has no Perl. lib/build_OID_registry becomes cleave-oid-registry (Crystal; its oid_registry_data.c is identical to the Perl script's), chosen by a one-line lib/Makefile patch (OID_REGISTRY). The scalar SHA-2 code is OpenSSL perlasm, selected by the crypto- extension drivers; kernel-bq2-seed.config turns those off for the generic C SHA-2. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 960f23116e user: claude-49343b tags: trunk | |
| 18:29 |
build-beagley-ai-bsp: the kernel compiles with our clang (ARM for the compat vDSO)
Run 13 built the whole boot chain in the seed (tiboot3.bin, tispl.bin, u-boot.img); the kernel then needed the ARM target for its 32-bit compat vDSO, which the seed's clang lacks. Host tools stay on the seed's clang, which has the compiler runtime. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 79c68677de user: claude-49343b tags: trunk | |
| 18:10 |
bsp: add the u-boot.srec patch (0003), left out of the last check-in
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 4c1e44b68c user: claude-49343b tags: trunk | |
| 17:53 |
build-beagley-ai-bsp: U-Boot with clang 18 (GCC_TOOLCHAIN= ), no u-boot.srec
U-Boot adds --gcc-toolchain=<dir of ld> to every compile; clang 18 reports it unused, so under -Werror every cc-option probe failed and U-Boot lost -mabi=aapcs-linux (and with it eabi_compat.o's __aeabi_mem*) and -mno-movt. GCC_TOOLCHAIN= on the command line drops it. LLVM 18's objcopy cannot write S-records, so u-boot.srec is built only on request (patch 0003). Both passes now build with clang 18 in a reference environment: tiboot3.bin, tispl.bin and u-boot.img. The A53 pass gets its CPP target explicitly. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 2347bd3ff3 user: claude-49343b tags: trunk | |
| 17:29 |
build-beagley-ai-bsp: show what U-Boot's cc-option probes see
R5 U-Boot proper lacks -mabi=aapcs-linux (so eabi_compat.o, with __aeabi_memcpy) and -mno-movt, both added only when cc-option probes pass; they pass with clang 21 but fail here. Run U-Boot's own probe command, with all its flags, and print what it says. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 87a40bfd33 user: claude-49343b tags: trunk | |
| 17:11 |
build-beagley-ai-bsp: R5 with -mno-movt explicitly (U-Boot's cc-option probe drops it)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: df56aebd1f user: claude-49343b tags: trunk | |
| 16:53 |
build-beagley-ai-bsp: R5 U-Boot proper in ARM mode, only its SPL in Thumb-2
clang 18 emits movw/movt for Thumb-2 U-Boot proper despite -mno-movt, which its position-independent link refuses. Only the SPL needs Thumb-2 to fit its size limit. OP-TEE now builds in the seed with cleave-optee. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 8ba62e289e user: claude-49343b tags: trunk | |
| 16:37 |
OP-TEE: tee-raw.bin with cleave-optee too; llvm-readelf from llvm-readobj
The tee-raw.bin rule runs scripts/gen_tee_bin.py directly rather than through $(PYTHON3), which the patch missed (the earlier no-Python check still had python3 on PATH). LLVM's toolchain-only install has llvm-readobj but no llvm-readelf link. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: e75188c154 user: claude-49343b tags: trunk | |
| 16:19 |
build-beagley-ai-bsp: cc and c++ in the seed point at clang
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 60e9871092 user: claude-49343b tags: trunk | |
| 16:19 |
build-beagley-ai-bsp: crystal links with CC=clang in the seed; cmake output to its log
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: d57fcd1e33 user: claude-49343b tags: trunk | |
| 16:04 |
build-beagley-ai-bsp: build the cleave tools without --production (no shard.lock), logged
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: cb69e8f129 user: claude-49343b tags: trunk | |
| 15:49 |
build-beagley-ai-bsp: LLVM without plugins, LTO and libclang
Their symbol export lists are generated with Python. BQ2 builds LLVM the same way. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: ee36964c4e user: claude-49343b tags: trunk | |
| 15:45 |
build-beagley-ai-bsp: on failure, show the log's error lines, not only its end
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: de5ce8121f user: claude-49343b tags: trunk | |
| 15:40 |
build-beagley-ai-bsp: the seed's clang defaults to compiler-rt, libunwind and libc++
The 0.4.0 seed's clang links crtbeginS.o, libgcc and libgcc_s by default, which the seed lacks, so cmake's compiler check for LLVM failed. Clang config files for the seed's own triple set compiler-rt/libunwind (and libc++ for clang++), as later BQ2 seeds do in the compiler. Clones are quiet so the run log needs no filtering. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 1cc3409f59 user: claude-49343b tags: trunk | |
| 15:36 |
build-beagley-ai-bsp: lenient patching, A53 compiler runtime, native cleave-init in the seed
BQ2's runtimes-propagate-python-option.patch is not accepted by git apply; patch -p1 takes it, as BQ2's own applier does. U-Boot's A53 build links the compiler runtime as libgcc; point it at the seed's compiler-rt builtins. The image script builds cleave-init natively when run in the seed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 6ee3d81306 user: claude-49343b tags: trunk | |
| 15:32 |
tools/build-beagley-ai-bsp.sh: the BeagleY-AI boot chain and kernel, built in the BQ2 seed
Fetches the pinned sources and applies our patches, unpacks the seed, then builds in it: LLVM 18.1.7 with ARM (for the R5 SPL) and the llvm tools the seed lacks, the cleave tools, TF-A, OP-TEE (cleave-optee), U-Boot R5 and A53 (cleave-kconfig, cleave-dtc, cleave-binman), and Linux (cleave-kconfig as a config target, cleave-dtc as DTC). Armbian's kernel config and DT supplements and BQ2's LLVM patches are copied into bsp/. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: ff0e4db920 user: claude-49343b tags: trunk | |
| 15:26 |
bsp: patches for building without flex, bison and Python
linux: skip building the in-tree dtc when DTC is given (cleave-dtc). u-boot: build the R5 SPL as Thumb-2 with clang (fits its 192 KB limit at 166 KB), and allow skipping the pylibfdt check (binman is cleave-binman). With these, U-Boot's BeagleY-AI R5 build runs end to end with cleave-kconfig, cleave-dtc and cleave-binman, flex/bison/python3 denied, and writes tiboot3.bin. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 5a1b6e3ea0 user: claude-49343b tags: trunk | |
| 15:10 |
cleave-optee: OP-TEE 4.6.0's core build helpers in Crystal, no Python
arm32_sysreg, pem_to_pub_c, gen_ldelf_hex, gen_ld_sects and gen_tee_bin, with a small ELF reader, and a patch making optee_os call $(CLEAVE_OPTEE). On a k3-am62x build all 15 generated files are identical to the Python scripts' output, and the patched tree builds with PYTHON3=/bin/false. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: a9d05d9f31 user: claude-49343b tags: trunk | |
| 15:04 |
cleave-kconfig: U-Boot 2025.07 dialect, specs and docs
The 4.20-era Kconfig U-Boot carries: first-word keywords, option lines, choices with their own value and member lists, prompt-based parent dependencies, automatic submenus that take dependent members out of a choice, order-dependent calculation, and the older .config/auto.conf/tristate.conf/include/config/*.h formats. As U-Boot's conf for the BeagleY-AI R5 and A53 defconfigs, every output is identical to the real conf's; the kernel dialect is still identical too. Specs compare both dialects with real conf output. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: f4df822b70 user: claude-49343b tags: trunk | |
| 14:52 |
cleave-kconfig: Kconfig's conf in Crystal, Linux 6.12 dialect
Lexer as LEXICAL tables (macros expanded, sources spliced, help skipped in reading order), grammar on the shared glyph parser, and menu.c/symbol.c/confdata.c semantics. Run as kbuild's conf for v6.12.49-ti-arm64-r56 with the Armbian vendor config plus the audio fragment: .config, auto.conf, auto.conf.cmd, autoconf.h, rustc_cfg and the include/config/ files are identical to the real conf's. U-Boot's dialect is next. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: 52ad84d15a user: claude-49343b tags: trunk | |
| 14:32 |
cleave-dtc: lexer as a crystal-robots LEXICAL table of anchored regexes
Each rule names its dtc start states, glyph and next state; first match wins. Still byte-identical on all 266 kernel arm64 DTBs and the U-Boot R5 DTBs. Empty input is an error instead of a crash. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: d16c3bcda0 user: claude-49343b tags: trunk | |
| 14:17 |
cleave-dtc: a device tree compiler in Crystal, byte-identical to dtc 1.7
Parses DTS with the crystal-robots multipass glyph pattern (shared engine in glyph_parser.cr) and builds the tree with dtc's semantics. All 266 arm64 DTBs and overlays from Linux v6.12.49-ti-arm64-r56 and the U-Boot BeagleY-AI R5 DTBs come out identical to dtc's. Lets the kernel and U-Boot build in the BQ2 seed without flex/bison. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: d55cfcba31 user: claude-49343b tags: trunk | |
| 13:15 |
ocx-node README: first real build on aarch64-1 passed (ticket 650aed1f3f)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaWisxTW4iSdvDGSTvJiiG check-in: ab3995c567 user: claude-49343b tags: trunk | |