An ISO is an archive format used to package and distribute files similarly to optical disks (CDs/DVDs). There are various tools for creating different types of ISO files on Ubuntu.

For instance, if you want to create an ISO of a disk or just a few files, there’s Brasero. You’ve also got CLI utilities like mkisofs and dd that can do the same. Or, if you want to create a custom Ubuntu ISO, you can use tools like Cubic.

Brasero

Brasero is a graphical tool for disk burning on Linux. It’s not included by default in Ubuntu, so you’ll have to manually install it with

sudo apt install brasero

Brasero is the most beginner-friendly option for creating ISOs thanks to its intuitive UI. Click on the Data project option to get started.

Press the Add button and select the files or directories to add to the project. Adjust the name and file path if required, then click on Burn.

After the process completes, you’ll receive an Image successfully created message. It’s that simple!

mkisofs

While Brasero is pretty quick in its own right, you can also use CLI tools like mkisofs to create ISOs quickly. Use the output option in the following format to do this:

mkisofs -o /path/to/output/file.iso /path/of/source/directory

dd

You can also use tools that move data like dd or cat to create ISO files. All of them work but we’ll go with dd here as that’s the norm. 

Let’s say you want to create an ISO from a disk mounted at /dev/sda1. Specify the if (input file i.e., source) and of (output file i.e., destination) and run the command like so

dd if=/dev/sda1 of=/path/to/output.iso

Cubic

Creating customized and distributable Ubuntu images is also a popular use case for ISOs. Custom Ubuntu ISO Creator, or simply Cubic, is one of the most popular tools for this purpose.

You’ll have to add the Cubic Wizard PPA as Cubic isn’t present in the official Ubuntu repo.

sudo apt-add-repository ppa:cubic-wizard/release

The script will automatically update your apt package index, so all that’s left is to install Cubic.

sudo apt install cubic

To get started with Cubic, you’ll need to select a project directory first. This is simply a directory for storing files related to the custom ISO we’re about to make.

Next, select the ISO to customize. This’ll automatically fill out all the fields regarding the ISO’s description.

You should land at the root prompt in the virtual environment. You can customize the ISO however you like here. This includes

These were just some of the changes you could make. Once you’re done customizing, click on Next to proceed.

As Cubic is often used to create minimal ISOs, it’ll prompt you to select any packages that you’d like to remove during the installation.

On the next two screens, you’ll be prompted to select the kernel to use (assuming multiple are available) and select the compression type to prioritize size or speed.

Finally, after generating the ISO, you can test it using the inbuilt QEMU emulator. Verifying that the ISO works is important, particularly if you plan to distribute it.

Anup Thapa

Senior Writer

Anup Thapa is a Linux enthusiast with an extensive background in computer hardware and networking. His goal is to effectively communicate technical concepts in a simplified form understandable by new Linux users. To this end, he mainly writes beginner-friendly tutorials and troubleshooting guides. Outside of work, he enjoys reading up on a range of topics, traveling, working out, and MOBAs.