One of the best things about Linux is that it lets you customize your system however you want to. Unlike users of other operating systems, you're not limited to a particular corporate-mandated desktop environment, file manager, or office suite.

Typically, you make changes to your distro after installing it to your hardware, but with Cubic, you can create a custom ISO that is perfect for your needs.

Why Create a Custom Ubuntu ISO?

With the Linux distro landscape being as varied and fragmented as it is, there are distros that can suit virtually any available use case. You can easily install a Linux distro based on Debian, Arch, Ubuntu, Slackware, or Fedora; you can take sides in the great war between systemd and anti-systemd; choose a Wayland distro or keep your graphics stack traditional with X.org. There's no shortage of options.

These are big choices, and ones that will underpin your entire Linux experience, but what if there's a distro that is almost perfect for you, but needs a few tweaks?

Maybe your favorite distro comes bundled with a browser you don't like or lacks a particular editing tool you consider essential. Perhaps you have a vast collection of wallpapers you want to be available as soon as you turn on your shiny new laptop for the first time.

Sure, you can make the changes fairly easily after installing the distro on your machine, but if you have multiple computers and like a consistent experience, or if you administer a lot of PCs that need to have a standard set of software, such as in a school or business, it's good to be able to create your own customized ISO, which will install exactly what you want with no messing around.

What Is Cubic?

Like all good open-source projects, Cubic is a backronym—in this case standing for Custom UBuntu ISO Creator, and as its expanded name suggests, it is a tool to help you create a customized live ISO image for Ubuntu-based distributions.

Ubuntu is a tremendously popular distro, and in addition to the main Ubuntu download, and its already highly customized flavors, including Kubuntu, Lubuntu, Xubuntu, Ubuntu Studio, Budgie, and MATE, it also underpins distros such as elementary OS, Linux Mint, and KDE Neon. Any of these could be exactly what you're looking for—if only they were slightly different.

Cubic runs as a GUI wizard which helps with "effortless navigation through the ISO customization steps and features an integrated virtual command line environment". Simply choose your favorite Ubuntu-based distro and follow the step-by-step guide to get exactly what you need.

How to Install Cubic on Linux

teminal output with neato ASCII art when adding cubic ppa

Cubic runs on distributions based on Ubuntu 18.04.5 Bionic and above, and while it is possible to run Cubic in a virtual environment, it isn't recommended. To begin, first enable the Universe repository and the Cubic PPA:

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

Now update your system, and install Cubic:

        sudo apt update
sudo apt install --no-install-recommends cubic

You can now access Cubic through your menu system, or by typing:

        cubic

...into a terminal.

Creating a Custom Ubuntu ISO With Cubic

fields for source and custom ISOs in Cubic

When you start Cubic for the first time, you'll be asked to select a project directory. Do this, then click Next to select your source ISO, and the details of the ISO you will produce. Choose the ISO file, and the fields will be automatically populated.

You can change the values for your custom ISO to reflect the ISO's purpose or just because you want to give it a cool name. For our source ISO, we chose the Vanessa release of Linux Mint Cinnamon. The custom name is "MUO Linux Initial release".

Click Next, and Cubic will extract the ISO to the working directory you specified earlier, and give you a chroot—a sort of contained terminal—where you can execute commands.

If, for instance, you want your custom ISO to have only the freshest software, the first command you should run is:

        sudo apt update && sudo apt upgrade
    

Mint comes with a lot of useful pre-installed software, and while most of it is useful, you may prefer different tools.

One example is the IRC client HexChat. If you hate HexChat because of its GUI, and would rather get down and dirty with IRSSI in the terminal, you would first purge HexChat:

        apt purge hexchat
    

...and then install IRSSI:

        apt install irssi
    

It's just like using the terminal on your desktop machine, except the changes you make will be reflected in the ISO produced by Cubic.

You can do this with any software you like—or don't like. Swap out Transmission in favor of qBittorrent, Pix for Ristretto, or Firefox for Falkon!

It's also a good idea to get rid of the bloat in the form of apps you'll never use or that you don't want your users to use:

        apt purge rhythmbox timeshift celluloid notes thunderbird
    

You don't need to use the package manager to install software. You can pull packages from the internet, add them to your path, and make them executable. To ensure that you can easily download YouTube videos on machines that have installed your custom ISO:

        wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
chmod a+rx /usr/local/bin/yt-dlp
chroot showing installation of yt-dlp in Cubic

We want a glorious MUO-themed desktop, and we want it with a pre-set default wallpaper. Move to the wallpaper directory with:

        cd /usr/share/backgrounds
    

...and click the copy icon, next to the Back button in the top left of the Cubic interface. Select the files you want to copy into this directory, and click Copy on the next screen.

Once you've copied your wallpaper files, set the wallpaper you want by typing:

        gsettings set org.cinnamon.desktop.background picture-uri file:///usr/share/backgrounds/muo_wallpaper.jpg
    

If you're using a different desktop such as GNOME, you will need to modify the command:

        gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/muo_wallpaper.jpg
    

Finalize Your Custom Ubuntu ISO

Once you've finished changing the wallpaper and are happy with the packages you've added or purged, click Next again.

You will see a list of all the packages which will be present on the live ISO, you can add a checkmark next to each one which will see it removed during either a typical or minimal installation.

cubic package selection screen

When you're happy with the list, hit Next again, and choose which kernel you want to use.

The last choice you need to make is what compression type you want to use. These range from XZ, which will produce a smaller ISO, but take longer to pack and unpack, to LZ4, which will give you a much larger ISO, but take minimal time. GZIP is a good compromise.

At this point, you'll notice that the ever-present Next button has been replaced by a Generate button. Hit it, then go and make a cup of tea while Cubic builds your ISO!

After a few minutes, your ISO will appear in the Cubic directory ready to be installed.

Linux desktop  with muo wallpaper

Cubic Makes It Easy to Create Custom Ubuntu ISOs

Cubic is an excellent tool that makes it simple to ensure that you get the experience you want as soon as your new machine boots up. You can use it for yourself or create images to deploy within an organization so that students and staff have the tools they need to get to work straight away.

To make sure that your ISO works as it should and that it has everything you're likely to need (and nothing you don't), you should spend some time using it in a virtual machine before deploying or distributing the ISO file.