Repolode
ifd3f

ifd3f/caligula

A lightweight, user-friendly terminal UI for writing disk images to USB drives and SD cards, with hash checks and post-write verification.

Open-source alternative to:balenaEtcher

Stars
2,410
Forks
41
Open issues
56
Last commit
last month

What is it?

Caligula is a terminal user interface for burning disk images, a friendlier alternative to running dd by hand. It lists attached disks with their size and hardware model, so you can pick the target visually instead of typing device paths from memory. Before writing, it asks for confirmation to reduce the risk of overwriting the wrong disk.

The tool can decompress input images in gz, bz2, xz, lz4 and zst formats, and it can validate an image against a hash such as md5, sha1 or sha256 before burning. It shows a live write-speed graph and verifies the disk after writing. If the current user lacks permission to write to the device, it can re-run the operation through sudo, doas or su.

Caligula is written in Rust and is published as a single binary under five megabytes. It is invoked with `caligula burn <IMAGE>`, and it can run non-interactively with flags for scripting. Linux x86_64 is the best-supported platform, with macOS builds available but with limited testing.

Key features

  • 01Lists attached disks with size and hardware model information
  • 02Decompresses gz, bz2, xz, lz4 and zst input images
  • 03Validates images against md5, sha1, sha256 and other hashes before writing
  • 04Verifies the disk after writing
  • 05Asks for confirmation before erasing a disk, with a force flag to skip it
  • 06Escalates privileges with sudo, doas or su when needed

Use cases

  • Writing a Linux installer ISO to a USB flash drive
  • Flashing a Raspberry Pi or other OS image to an SD card
  • Replacing ad-hoc dd commands in scripts or workflows that need safer confirmation

Quick start

  1. 1

    Install via Cargo from crates.io

    cargo install caligula
  2. 2

    Run the burn command with an image file

    caligula burn <IMAGE>

Things to know

  • Platform support is limited: Linux x86_64 is fully tested, while macOS has known bugs and Windows is not supported.
  • Licensed under GPL-3.0, a copyleft license that may restrict how you can reuse the code.

Topics

FAQ

What is caligula?
A lightweight, user-friendly terminal UI for writing disk images to USB drives and SD cards, with hash checks and post-write verification. Caligula is a terminal user interface for burning disk images, a friendlier alternative to running dd by hand. It lists attached disks with their size and hardware model, so you can pick the target visually instead of typing device paths from memory. Before writing, it asks for confirmation to reduce the risk of overwriting the wrong disk.
Is caligula free to use? What license does it have?
caligula is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is caligula still maintained?
Updated within 6 months. The last commit to caligula was on Sep 17, 2026.
What can I use caligula for?
Writing a Linux installer ISO to a USB flash drive Flashing a Raspberry Pi or other OS image to an SD card Replacing ad-hoc dd commands in scripts or workflows that need safer confirmation
How do I install caligula?
Install via Cargo from crates.io: cargo install caligula Run the burn command with an image file: caligula burn <IMAGE>
Where can I get caligula?
The source code and installation instructions are on GitHub: https://github.com/ifd3f/caligula

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects