Trebuchet

Trebuchet is a generic update mechanism for a Linux system. It delivers updates through a binary patch for the filesystem. Trebuchet requires Btrfs - it rolls the update during runtime on a writeable snapshot of the root filesystem allowing runtime safe, reliable and revertible updates.

Core components

  • Trebuchet Diff tbdiff: This is a generic tool to generate and deploy a binary difference between two directory trees.
  • Trebuchet Update tb-update: This tool takes care of retrieving a tbdiff image from a Trebuchet Server and handle the deployment in a tb-update ready running system.
  • Trebuchet Server tb-server: This is a web service and frontend to deliver updates and rollback commands to a set of devices.