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.

PlatformSoCBuild systemRootfs
Hive-SLiteX/VexRiscv RISC-V soft-SoC (Artix-7)Buildrootinitramfs (cpio)
Hive-MXilinx ZynqMPYocto (bitbake)squashfs, RAUC A/B

Documentation

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 code CLI on PATH - only for buildhive code
  • Company SSO account - build secrets (BUILDSIGN_TOKEN, SSTATE_MIRROR_AUTH) come from the secrets server (secrets in project.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/).