My projects are driven mostly by self-hosting interests and general curiosity, some purely for the sake of it. Most are open tooling for running mainline Linux on ARM boards, largely Rockchip: flashing, bring-up, image building, and running models on the NPU. A few rootless Rust tools have been built along the way to fill dependency gaps where existing tools didn't meet project design requirements. I hope these projects find utility beyond my homelab.
These projects run inference on the RK3588 & RK3576 NPU through the mainline rocket DRM-accel driver.
NPU Project Relationships
flowchart TB
ggml["ggml-rocket<br/>llama.cpp · whisper.cpp"]
ort["ort-rocket<br/>ONNX Runtime"]
tfl["tflite-rocket<br/>TFLite · Frigate"]
rus["rocket-userspace<br/>librocketnpu"]
ggml & ort & tfl --> rus
rus -->|mainline kernel| rocket["rocket DRM-accel driver"]
rus -->|vendor BSP kernel| rkn["rknpu-submit"]
rkn --> rknpu["rknpu driver"]
pat["patches"] -. clock + latency .-> rocket
rocket & rknpu --> npu[("RK3588 NPU")]
notes["rockchip-npu-notes"] -. documents .-> npu
Building & Flashing OS Images
- boot2deb
- Builds a bootable Debian image for an SBC, laptop or tablet from layered TOML config, without root.
- pyrographer
- Flashes and recovers Rockchip, StarFive JH7110 and Ingenic devices, from a CLI or a GUI.
Filesystems, sandboxes and packages, built without root.
- ferrosys
- Formats and reads ext2/3/4, FAT, exFAT and btrfs images in userspace, with byte-reproducible output.
- ferroday-cage
- An unprivileged Linux sandbox that can bootstrap a Debian, Alpine or Gentoo root.
- src2deb
- Builds
.debpackages from source inside a sandbox and writes a provenance manifest for each run.
Research notes and observations written for reuse.
- rockchip-npu-notes
- The RK3588 NPU and its regcmd interface, from research and reverse engineering.
- device-ref
- RK3288, RK3576 and RK3588 boards on mainline Linux: boot chains, device trees and errata, with every claim graded by its evidence.

