finds.dev← search

// the find

sbabic/swupdate

★ 1,819 · C · GPL-2.0 · updated Jun 2026

Software Update for Embedded Systems

SWUpdate is a field-update agent for embedded Linux devices — handles OTA and local updates to rootfs, kernel, bootloader, MCU firmware, and flash partitions. It's the de facto standard for Yocto-based products that need reliable A/B or single-copy update strategies. If you're shipping an industrial device or IoT gateway on Linux, this is the tool you reach for.

Streaming mode installs directly from the download stream without a full local copy — critical on constrained storage. Crypto is properly done: CMS signatures, AES encryption, and you can pick OpenSSL, mbedTLS, or WolfSSL at build time. hawkBit connector (suricatta) is built in, so you get fleet management without writing your own pull client. Lua scripting hooks let you extend install logic without forking the C core.

Kconfig build system is the right call for embedded but it's a steep ramp — expect to spend real time understanding which of the 30+ defconfigs comes closest to your hardware before you can do anything useful. Delta update support (librsync-based) exists but is not well documented and has known limitations with large partition images. The mailing-list-only contribution model means issue tracking is scattered across Google Groups and Patchwork, which makes it hard to assess whether a bug you hit is known. No first-class container runtime update story — the Docker handler exists but feels bolted on compared to the flash/UBI/eMMC paths.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →