Under Linux there are many ways to put a bootable image on a USB stick or SD card. On the command line, the tool of choice is dd , which stands for disk dump and reads and writes hard disks, partitions or files bit by bit below the file system level. If you use dd , you should be sure that you are using the right device, because once dd has been started, the target is mercilessly overwritten without confirmation.
In recent years, some graphical tools have become fashionable for creating bootable USB sticks. Some distributions offer their own tools, others are independent of the distribution or operating system. Rufus has been available for Windows for 10 years, the balenaEtcher, or Etcher for short, which is available for Linux, macOS and Windows and is recommended to beginners under Linux, is more broadly based. Etcher can be operated both graphically and via CLI.
Etcher is based on Electron
These tools have the advantage over dd that they try to prevent operating errors. To avoid data loss, Etcher shows partitions that are larger than the usual size of USB sticks as large data carriers. The decisive disadvantage of Etcher is the use of the electron framework and the resulting size of the application delivered as an AppImage of over 90 Mbytes. In addition, advertisements have been shown for some time while writing.
The minimalist graphic open-source tool USBImager, which has been developed a year ago and is also available for Linux, macOS and Windows as well as for the ARM platform and as a .deb weighs just 180 KB, proves that it can be done better. It even offers more functions than Etcher.
In addition to the binary files and the source code on GitLab, USBImager can only be found in the AUR of Arch Linux. When downloading directly from the repo, a distinction must be made between versions that can only write and those that can also read. The latter also offer the option of verifying the result after the write process and creating backups. The download as a zip archive instead of the binary file allows the executable file to be used without installation and thus without system integration.
Read and write images
The GUI is kept simple and offers selection fields for the image to be written, the device and the buffer size. You can also check that the result is checked. Another click provides further compression. By hiding larger partitions, the tool tries to prevent the system disk from being overwritten if the wrong destination is selected. All drives are displayed on startup on the command line with the -a parameter . For a 3 GB image including a check, USBImager takes just under 4 minutes.
More functions than etcher
USBImager can handle the .img, .bin, .raw and .iso formats and can read compressed images such as .zip, .zzz, .tar, .cpio and .pax on the fly. You can use the Read button to create compressed backups raw or in ZStandard format. The resulting files are saved on the desktop with the extension .dd. If it is compressed at the same time, the ending is .dd.zst . In addition, images can be sent to microcontrollers via the serial interface. A detailed manual (PDF) shows how these and other options work .