Tags: imagebuilder build workflow sysupgrade apk release-candidate
Repo: https://github.com/ooonea/openwrt-imagebuilder-workflow
I’m sharing a small universal (target-agnostic) workflow repo that wraps OpenWrt ImageBuilder with a clean, repeatable process.
It’s meant for people who want local, reproducible sysupgrade images (especially useful for RCs / niche targets / when remote builders don’t support a target).
What it does
- Downloads the correct ImageBuilder for a given release + target from downloads.openwrt.org
- Verifies SHA256 checksums before extracting
- Builds a
sysupgrade.binlocally from simple recipes (pkgs.add/pkgs.del) - Optional
files/overlay injection into the rootfs - Generates artifacts in
out/(.sysupgrade.bin,.manifest,.sha256, build log) verify.sh: read-only sanity check that a running router matches the built image by package names using the image manifest
(currently implemented for apk-based systems viaapk list --manifest)
What it does not do (by design)
- No flashing / no sysupgrade automation: you run sysupgrade manually
- No “magic” state: scripts are intentionally boring and predictable
Why ImageBuilder is fast
ImageBuilder doesn’t compile OpenWrt. It downloads prebuilt packages for the selected release/target and assembles an image.
Quick start
git clone https://github.com/ooonea/openwrt-imagebuilder-workflow
cd openwrt-imagebuilder-workflow
cp version.env.example version.env
$EDITOR version.env
./scripts/fetch_ib.sh
./scripts/info.sh
./scripts/build.sh --recipe recipes/minimal
./scripts/build.sh --recipe recipes/luci-openssl
./scripts/verify.sh --img out/<image>.sysupgrade.bin --host 192.168.1.1