Popsicle is a free and open-source USB flasher for creating multiple bootable drives simultaneously. This Linux utility supports parallel writing to several USB devices. It offers both graphical and command-line interfaces.
Popsicle works with USB 2.0 and USB 3.0 ports. It handles ISO and IMG file formats. System76 developed this tool as the default flashing utility for Pop!_OS. The application runs on Rust programming language with GTK framework.
Features in Popsicle
- Clean graphical user interface with theme support
- Command-line interface for terminal users
- Parallel writing to multiple USB devices
- Checksum verification with SHA256 and MD5
- Support for ISO and IMG image formats
- Compatible with USB 2.0 and USB 3.0 ports
- Real-time progress tracking for each device
- Automatic device list updates
- Free and open-source on GitHub
Install Popsicle on Ubuntu-Based Systems
Pop!_OS includes Popsicle by default. Ubuntu users must add an external repository.
Add the official System76 PPA and install the packages:
$ sudo add-apt-repository ppa:system76/pop
$ sudo apt update
$ sudo apt install popsicle popsicle-gtk
$ sudo add-apt-repository -r ppa:system76/pop
The final command removes the repository. This prevents Pop!_OS upgrade notifications.
If the System76 PPA fails, use the alternative repository:
$ sudo add-apt-repository ppa:apandada1/popsicle
$ sudo apt update
$ sudo apt install popsicle popsicle-gtk
Create Bootable USB Using Popsicle GUI
Launch Popsicle from your application menu. It may appear as USB Flasher in search results.
Connect your USB drives to the computer. Click Choose Image and select your ISO or IMG file. The device list displays all connected USB drives.
Select the target USB devices from the list. Multiple drives can be selected for parallel flashing. Click Next to begin the process.
Progress bars show completion status for each drive. The interface updates automatically when devices are added or removed.
Wait for the process to complete. Remove the drives safely once finished.
Create Bootable USB Using Popsicle CLI
Run Popsicle from the command line with the image file and device path:
$ sudo popsicle /path/to/image.iso /dev/sdX
Replace /dev/sdX with your actual USB device path. Use lsblk to identify the correct device.
Flash all connected USB devices with a single command:
$ popsicle -a /path/to/image.iso
The -a flag targets all detected USB drives simultaneously.
View available command options:
$ popsicle --help
Uninstall Popsicle
Remove the PPA repository first:
$ sudo add-apt-repository -r ppa:system76/pop
Remove the installed packages:
$ sudo apt remove popsicle popsicle-gtk
Clean up residual configuration files:
$ sudo apt autoremove
Comparison with Other USB Tools
| Feature | Popsicle | Etcher | UNetbootin |
|---|---|---|---|
| Multi-drive support | Yes | No | No |
| Checksum verification | SHA256, MD5 | No | No |
| Command-line interface | Yes | No | Yes |
| Format support | ISO, IMG | ISO, IMG | ISO |
| Programming language | Rust | JavaScript | Python |
FAQs
Yes, Popsicle supports parallel writing to multiple USB devices simultaneously. Select all target drives in the GUI or use the -a flag in CLI mode.
Popsicle works on Ubuntu and its derivatives including Linux Mint, elementary OS, and Zorin OS. Install it using the System76 or alternative PPA repositories.
Click the Hash dropdown after selecting your image file. Choose SHA256, SHA1, or MD5, then click Check. Compare the displayed hash with the original download source.
Popsicle supports ISO and IMG image formats. Both file types work with the graphical interface and command-line tool for creating bootable USB drives.
Popsicle primarily targets Ubuntu-based systems. Other distributions can build from source on GitHub or use Flatpak/AppImage versions if available for their platform.