| Crates.io | etchr |
| lib.rs | etchr |
| version | 1.0.0 |
| created_at | 2025-11-15 13:09:26.002388+00 |
| updated_at | 2025-11-15 13:09:26.002388+00 |
| description | A fast, safe, and interactive CLI for flashing disk images. |
| homepage | |
| repository | https://github.com/sskartheekadivi/etchr |
| max_upload_size | |
| id | 1934330 |
| size | 67,140 |
Tired of cryptic `dd` commands? Worried you'll accidentally wipe your system drive?
etchr is a modern, reliable tool that makes flashing SD cards and USB drives simple and safe, right from your terminal.
π‘οΈ Interactive Safety First
etchr doesn't let you pass a device path. Instead, it shows an interactive menu of only removable devices, making it nearly impossible to flash your system drive by mistake.
π Decompression On-the-Fly
Automatically decompresses .gz, .xz, and .zst images while writing. No need to extract them first.
β‘ Blazingly Fast Optimized for high-speed, unbuffered I/O to flash images as fast as your hardware allows, often faster than GUI-based tools.
β
Guaranteed Verification
Automatically verifies the disk with a SHA256 hash after writing to ensure the data is perfect, bit-for-bit. (You can skip this with --no-verify).
π Detailed Progress A beautiful progress bar shows your speed, data transferred, and ETA, so you're never left guessing.
π Graceful Cancel
Press Ctrl+C at any time to safely cancel the operation. etchr cleans up after itself, leaving no temporary files or half-written states.
cargo (Recommended)This is the easiest way to get the latest version if you have the Rust toolchain.
cargo install etchr
Download the pre-compiled binary or .deb package from the Releases page.
# For .deb packages
sudo dpkg -i ./etchr_1.0.0_amd64.deb
git clone [https://github.com/sskartheekadivi/etchr.git](https://github.com/sskartheekadivi/etchr.git)
cd etchr
cargo build --release
sudo cp ./target/release/etchr /usr/local/bin/
etchr is designed to be simple. The commands guide you.
etchr listList all detected removable devices and their mount points.
$ etchr list
Found 1 removable devices:
DEVICE NAME SIZE LOCATION
---------- ----------------- ----- ----------
/dev/sdd Cruzer Blade 29.5 GB /media/user/USB_DISK
etchr writeWrite an image to a device. You will be prompted to select a target from a safe, interactive list.
# You can use compressed or uncompressed images
etchr write ~/Downloads/raspberry-pi-os.img.xz
This will start the interactive prompt:
β Select the target device to WRITE to Β· /dev/sdd 29.5 GB [Mounted at /media/user/USB_DISK]
WARNING: This will erase all data on 'sdd' (29.5 GB).
Device: /dev/sdd
Image: /home/user/Downloads/raspberry-pi-os.img.xz
β Are you sure you want to proceed? Β· yes
Writing image...
Decompress [β β β β β β β β β β β β β β β β β ] 1.53 GiB (150.37 MiB/s)
Writing [β β β β β β β β β β β β β β β β β ] 8.00 GiB (90.12 MiB/s)
Verifying [β β β β β β β β β β β β β β β β β ] 8.00 GiB (133.33 MiB/s)
β¨ Successfully flashed /dev/sdd with raspberry-pi-os.img.xz.
Options:
--no-verify: Skips the verification step after writing.etchr readCreate an image file by reading an entire device. You will be prompted to select a source.
etchr read ~/Backups/my-sd-card-backup.img
This will start the interactive prompt:
β Select the source device to READ from Β· /dev/sdd 29.5 GB [Mounted at /media/user/USB_DISK]
This will read 29.5 GB from 'sdd'.
Device: /dev/sdd
Output: /home/user/Backups/my-sd-card-backup.img
β Are you sure you want to proceed? Β· yes
Reading [β β β β β β β β β β β β β β β β β ] 29.5 GiB (100.0 MiB/s)
β¨ Successfully read /dev/sdd to my-sd-card-backup.img.
etchr is already a powerful tool, but here's what's planned:
Contributions are welcome! Whether it's a bug report, a feature idea, or a pull request, feel free to open an issue or start a discussion.
This project is licensed under the MIT License.