OTA-Pulse
Stable

OTA for embedded Linux

Signed A/B root filesystem updates with automatic rollback, on ARM64, ARMv7 and x86_64 boards built with Yocto or Buildroot. This is the production-hardened path, and the one most of our fleet runs on.

01

Build it into your image

Add the meta-otapulse Yocto layer or the buildroot-otapulse package and the agent ships inside your image, with your signing key baked in. A manual binary install is supported for boards you do not build yourself.

02

Ship signed root filesystem updates

Every artifact is signed with RSA-4096 PSS/SHA-256 or ECDSA P-384. The agent writes the new image to the inactive partition, verifies the signature before installing, and never touches the running slot.

03

Fail safe by default

The bootloader boots the new slot on trial. If the device fails to come up or never confirms healthy, it reverts to the last known-good partition on its own — no operator involvement.

04

Watch the fleet, and get in when you need to

The socmond daemon reports health metrics into Grafana, coredumps are captured and uploaded for post-mortem analysis, and Remote SSH gives you an audited, recorded shell on any device behind NAT without opening an inbound port.

What your device needs

  • A Linux board (ARM64, ARMv7 or x86_64) with at least 512 MB RAM
  • systemd, on kernel 4.x or newer
  • Dual A/B root partitions plus a persistent data partition
  • Outbound HTTPS to your OTA-Pulse server — no inbound ports required

Managing microcontrollers instead? Those requirements do not apply — see OTA-Pulse for MCU.

Get started in 5 minutes.

Register your first device, push a firmware update, and watch it land — without touching a serial console.

Open source agent · Self-host or cloud · No vendor lock-in