1. Home
  2. Linux
  3. Flash multiple usb sticks linux

How to Flash multiple USB sticks on Linux

Popsicle is a small Linux app created by the people behind Pop_OS. It’s a USB flashing tool that allows users to flash ISO images to multiple devices at once. In this guide, we’ll show you how to do just that.

Before we begin

Before we begin, ensure that you have multiple USB flash drives available with a capacity of at least 2 GBs in size ready to use. Make sure these drives are fast, as faster is always better when flashing ISO images over USB.

Installing Popsicle on Linux

The Popsicle application is not available for installation through traditional means (DEB, RPM, etc.), but that is OK. Popsicle is written in Rust, which makes it very, very easy to build from source. To start the building process, open up a terminal window, and follow the installation instructions outlined below.

Ubuntu

System76 develops Popsicle for its Pop_OS distribution. Pop_OS is based on Ubuntu, so getting Popsicle compiled on straight Ubuntu is super simple. You’ll only need to install the “git,” “cargo,” and “libgtk-3-dev” packages.

sudo apt install git cargo libgtk-3-dev

Debian

Debian and Ubuntu are very much the same when it comes to packages (minus a few exceptions). As a result, building Popsicle on Debian requires the same three packages that Ubuntu does (git, cargo, and libgtk-3-dev).

sudo apt-get install git cargo libgtk-3-dev

Arch Linux

There’s an Arch Linux package for Popsicle on the AUR. To install it, enter the following commands below. It will download the source code and take care of all dependencies automatically.

sudo pacman -S git base-devel

git clone https://aur.archlinux.org/trizen.git

cd trizen

trizen -S popsicle-git

Fedora

On the GitHub page for Popsicle, there is no mention of supporting RPM distributions such as Fedora. However, it is possible to get the app working, as long as you install the “git,” “cargo,” and “gtk3-devel” packages.

sudo dnf install git cargo gtk3-devel

OpenSUSE

Much like Fedora, OpenSUSE has no specific directions for installing Popsicle, and the developers don’t point to the fact that it works on it. That said, if you install the required build dependencies, it should work just fine.

sudo zypper install git cargo gtk3-devel

Setting up Cargo

After setting up the dependency packages required to build Cargo, the next step is to install the Cargo-vendor package. The vendor package can only be set up through Cargo, and without it, Popsicle will have a hard time installing on Linux.

To install the Cargo-vendor package on your Linux PC, run the following cargo install command in a terminal window. Do not run the command with sudo!

cargo install cargo-vendor

Setting up the Cargo-vendor package may take a couple of minutes, so sit back and be patient. When the process is complete, move on to the next section of the guide.

Set up Popsicle

Thanks to the Cargo tool, building and installing Popsicle is pretty hands-off. You don’t need to mess with configurations, manually set up a make file, or any of that. Instead, to build the program, download the code with git, enter the directory with CD, and build the code with make.

git clone https://github.com/pop-os/popsicle.git
cd popsicle

make gtk

Once the code is built, install Popsicle on your Linux PC using the sudo make install command.

sudo make install gtk

Using Popsicle 

To use Popsicle, start by launching the program on the Linux desktop by searching for “USB Flasher” in the app menu. Or, open up a terminal window and run popsicle-gtk to start it up.

Once the Popsicle application is open on your computer, follow the step-by-step instructions outlined below to flash multiple USB devices.

Step 1: Plug in all of your USB flash drives into USB ports on your Linux PC. Ensure that these devices are on USB 3.0 for fast speeds.

Step 2: In Popsicle, you will see “Choose an Image.” Look for the “Choose Image” button, and click on it with the mouse. Upon clicking on the “Choose Image” button, a pop-up window will appear.

In the pop-up window that appears, browse for the ISO image you wish to burn to USB. Popsicle also supports IMG files if you prefer to use that format instead of ISO.

Step 3: After selecting the ISO image you wish to flash using Popsicle, look for the “Next” button in the top-right corner and click on it with the mouse to move to the next page.

Step 4: In the “Select Drives” window, Popsicle will show all USB devices connected to your Linux PC. Find the “Select all” button to select all of them, so that Popsicle can use it to flash the ISO image to all devices. 

Click the “Next” button in the top-right corner to move on to the next page.

Step 5: Once you’ve selected all USB devices in Popsicle, the app will ask you to enter your system password. Do so, and click “Authenticate.” Upon logging in with your password, Popsicle will begin to flash the ISO to your USB devices. Be patient; this could take a while.

When Popsicle is done flashing your USB devices, close the app. Your USB devices are ready to use!