BuildHive
CLI tool for building and managing Linux systems on NTL hardware. All builds run in Docker containers; build state persists in named Docker volumes.
| Platform | SoC | Build system | Rootfs |
|---|---|---|---|
| Hive-S | LiteX/VexRiscv RISC-V soft-SoC (Artix-7) | Buildroot | initramfs (cpio) |
| Hive-M | Xilinx ZynqMP | Yocto (bitbake) | squashfs, RAUC A/B |
Documentation
- Command reference - every command, flag, prerequisite
- GUI - pages, what each button runs, settings location
- Project configuration -
project.jsonschema - Hive-S internals - HW/SW/flash build flow
- Hive-M internals - Yocto flow, kernel development
- Update system - RAUC bundles, update archives, signing, legacy migration
- Secure boot - key generation, boot chain, eFUSE provisioning
- Development - repo layout, release process, template update mechanism
Installation
Windows
Run BuildHive_<x.y.z>_Setup.exe from the newest buildhive_v<x.y.z> release. Installs per user, optionally adds buildhive to PATH. Later versions: buildhive upgrade or the update button in the GUI.
Requirements
- Docker running (WSL backend on Windows) - required by almost every command
- Vivado on PATH - Hive-S only (
build hw,deploy flash) - VS Code with
codeCLI on PATH - only forbuildhive code - Company SSO account - build secrets (
BUILDSIGN_TOKEN,SSTATE_MIRROR_AUTH) come from the secrets server (secretsinproject.json), browser login on first use; env vars of the same name override - NTL VPN - only for signing update archives
Command names accept unique prefixes: buildhive dep fl = buildhive deploy flash.
Hive-S quickstart
[!IMPORTANT] Requires AMD/Xilinx Vivado in your PATH.
buildhive create -n PROJECT_NAME -t hive-s
cd PROJECT_NAME
buildhive build hw # generate SoC + IP cores (output: ip/)
# generate bitstream in Vivado, then:
buildhive configure bitstream -f PATH_TO_BITSTREAM # copies to images/bitstream.bin
buildhive build sw # UWM + Buildroot (kernel, rootfs, u-boot, opensbi)
buildhive build flash # assemble images/flash.bin
buildhive deploy flash # program SPI flash via Vivado/JTAG (device connected)
If multiple devices are connected, you are prompted to select one.
Hive-M quickstart
buildhive create -n PROJECT_NAME -t hive-m
cd PROJECT_NAME
# optional: replace hardware description
buildhive configure xsa -f PATH_TO_XSA # extracts .bit from XSA
buildhive configure bitstream -f PATH_TO_BIT # or supply .bit directly
buildhive configure dts -f PATH_TO_DTSI # custom device tree include
# optional: kernel / u-boot menuconfig
buildhive configure linux
buildhive configure uboot
buildhive build sw # bitbake aionyx-image-minimal -> images/sd.wic
buildhive build update # update archive + RAUC bundle, signed -> images/
Kernel development (Hive-M)
Fast out-of-tree module and kernel builds without full bitbake runs:
buildhive build kernel-devsrc # export kernel source + toolchain to Docker volume (once)
buildhive build module ntl_tsu # build one NTL driver out-of-tree -> oot/ntl_tsu/*.ko
buildhive build module ntl_tsu --clean
buildhive build kernel-oot # rebuild kernel Image without bitbake -> images/Image
buildhive build kernel-oot --clean
buildhive shell # interactive shell in build container
buildhive shell --module ntl_tsu # shell with kernel env, cd oot/ntl_tsu
buildhive code # VS Code attached to dev container
buildhive code --stop
Dev container mounts: /kernel-devsrc (kernel source + build tree, case-sensitive volume), /oot (host oot/), /drivers (host sources/drivers/).