ReferenceTool · v3.0.0Update Delivery

Fleet Update Agent

On-device agent that downloads, verifies and installs signed A/B updates for fielded Zynq-7000 boards.

Owner: Mara OkaforEmbedded PlatformsContact ownerAdded 10 Mar 2026Updated 24 Sep 2026
  • Runs out of the box: yes
  • Tests: yes
  • CI: yes
  • Docs: yes
  • Used in production: yes

Purpose#

The Fleet Update Agent is the supported way to keep fielded boards current. It runs as a small service on the board, polls the fictional update server for the board's channel, verifies the bundle signature before touching any partition, writes the inactive slot and asks the boot loader to try it once.

It packages the patterns from the offline bundle and self-update examples into one maintained application with a support channel and a release history.

Get the tool#

Product status
Active
Current version
v3.0.0 · released 24 Sep 2026
Platforms
  • Zynq-7000 PetaLinux
  • Linux (aarch64)
Distribution
Internal
Owning team
Embedded Platforms
Support
#fleet-update-agent on the fictional team chat

Releases#

  1. v3.0.0 (latest)

    • Wave rollouts with automatic widening
    • Status report lists rollback reasons per board

    Wave rollouts: an update can now go to a percentage of a channel first and widen automatically when no board rolls back.

  2. v2.2.0

    • Pin a board to a version

    Channel pinning, so a board can stay on a known version while the rest of the channel moves on.

  3. v2.1.0

    Resumable downloads over slow links.

  4. v2.0.0

    First release on the A/B slot layout shared with the offline bundle procedure.

What you will learn#

  1. Enrol a board in an update channel and pin it to a version
  2. Roll a signed update out to a group of boards in waves
  3. Read the agent's status report to see which boards rolled back and why

Technologies & features#

Technologies
C++LinuxPetaLinuxZynq-7000
Features
Automatic UpdateFirmware UpdateCode Signing
Topics
Update DeliveryprimaryEmbedded/Linux

Lessons learned#

  • Decision

    The agent verifies the bundle before it writes anything, the lesson carried over from the offline bundle example.

  • Limitation

    Boards without a spare slot cannot use the agent; they stay on the offline bundle procedure.

Try it#

Shell
sudo apt install ./fleet-update-agent_3.0.0_armhf.deb
fleet-update-agent enrol --channel lab --server https://updates.example.internal
fleet-update-agent status

Commands come from the owner’s README. Credentials are never stored here.

Resources#

Builds on these examples#

Contributes to

StatusReference
Versionv3.0.0
Product statusActive
OwnerMara Okafor
TeamEmbedded Platforms
Slugfleet-update-agent
Report a problem to the owner