Installing Linux Mint is not a big deal.
These are the things to do after installing Linux Mint that can seem tedious.
And if you have to do the same thing on multiple systems, it gets frustrating.
Imagine having multiple computers in your home, lab, or institution. And all should have similar setups and applications.
Now imagine this. You download Linux (Mint), create a live USB and install it on all systems. And then you have to do the same setup and install the same set of apps on each of them.
What if I told you there was a way to save time doing these repetitive tasks? How about creating a modified ISO and putting that custom Linux Mint on the live USB? This way, it installs the same custom Linux distribution on all systems.
There is a handy graphical tool called Cubic that allows you to pre-configure your installations in the simplest way possible.
Let me explain its features and how you can use it to customize Linux Mint 21 ISO.
Note that Cubic should work with other distributions like Ubuntu, Fedora, etc. I tested it with Mint but you can try following the steps for other distros.
Cubic: the easiest way to create custom ISO images
Cubic (VSpersonalized ubuntil ISO VSreator) is a graphical tool designed to customize Ubuntu-based distributions.
It lends you to the ISO’s chroot environment where you’ll make significant changes, and it also lets you choose the packages separately for minimal and normal installation.
But before getting to the procedure, let’s take a look at some features of Cubic.
Main features of Cubic:
- Easy to use graphical interface.
- Allows you to separately select packages for minimal and normal installation.
- It has three tabs for specific reasons:
- Kernel tab: If you have opted to install multiple kernels, you can specify the boot kernel from here.
- Pressed Tab: From here you can create, edit, and delete pressed files. By using pressed files, you can skip the questions typically asked during installation, because pressed files will automate the process!
- Boot Tab: If you want to change the boot settings, this is where you can change the modified ISO boot from.
- Offers different types of compression formats to compress modified ISO files.
- Comes with QEMU (open source machine emulator and virtualization) for testing modified ISOs.
Sounds too promising, right? So let’s continue with the installation process.
Installing Cubic in Ubuntu-Based Distributions
Cubic is not available in Ubuntu’s default repository, so you need to add PPA to install software not available in default repository:
sudo apt-add-repository ppa:cubic-wizard/release
Now let’s update the repository and install Cubic:
sudo apt update && sudo apt install cubic
And that’s all!
So now let’s get to how you can use Cubic to customize the ISO.
How to Use Cubic to Create Custom ISO Images
For this guide I will be using Linux Mint 21 ISO. To make this guide more relevant, I will do the following:
- Removed unnecessary packages, making it a minimal ISO of Linux Mint.
- Update the remaining packages to the latest version.
- Add new background images.
- Install the latest Linux kernel (6.0).
You can make your own modification according to your taste.
1. Add/Create project directory
When you open Cubic, it will ask you to choose the project directory. This is nothing but where you want all the files related to creating custom ISO images.
Here I created a new subdirectory in my HOME directory. Make sure you have a separate directory for each Cubic project you create. Once you are done selecting the project directory, click the Next button.
2. Choose the original ISO image
Here you need to choose the original ISO image you want to work with.
As you can see, I went with Linux Mint 21, and it picked up all the other info automatically.
3. Work with chroot environment
Once you select the ISO, it will extract the ISO image and you will enter a chroot environment.
This will behave like a normal terminal and it’s also where I’m going to do most of the stuff related to customizations.
It’s up to you how many packages you want to remove or you can also skip the package removal section. To remove a package, you don’t need to use the sudo you usually use because removing packages requires superuser privileges.
So suppose you want to remove Thunderbird; then the following command should do the job:
apt purge thunderbird
But as I told you earlier, I’m going for a minimal desktop, I’ll remove most extra GUI apps, including Libreoffice. And if you want to do the same:
apt purge drawing gnome-calculator hexchat hypnotix libreoffice* onboard redshift redshift-gtk rhythmbox sticky thingy thunderbird warpinator webapp-manager
Yes, it’s as simple as that!
Update existing packages
If you want to have the most recent packages in your next Ubuntu installation, here is the step to follow:
sudo apt update && sudo apt upgrade
Adding background images
Let’s start by changing the current working directory to /usr/share/backgrounds:
Since Cubic allows users to copy files by drag and drop into the current working directory (/usr/share/backgrounds in our case), I’m going to use copy my wallpapers (which I downloaded locally).
This should be the case if you want to change the background from the file manager, but if you want them listed in the change background dialog, you’ll need to add them each in an XML file located in /usr/share/gnome-background properties.
Added Linux 6.0 kernel
In this section, I will download the .deb package of kernel headers and modules, and then install them using the dpkg command.
Use the given 4 commands one by one and it will download kernel modules and headers:
Once you have completed the downloads, you can use the dpkg command to install them:
dpkg -i *.deb
4. Select the packages to remove from a minimal and normal installation
With Cubic, you can even specify the list of software for minimal and normal installation.
This is the place where you can be creative because you will have 2 lists of software that you can use for different purposes.
For example, you can use the normal installation option for desktop use and the minimal installation should be used for more minimal setups such as servers.
Since I have already removed packages, there is not much left for me to do in this section.
5. Select boot kernel
This section will bring the list of Linux kernels you have.
If you wonder why it shows 3 options, let me tell you how:
- 5.15.0-41 was pre-installed.
- 5.15.0-52 was installed when I updated existing packages.
- 6.0 was manually installed by me.
I’m going here with the Linux 6.0 kernel!
6. Choose the ISO compression type
This is the last step of the configuration where you have to choose the compression algorithm.
You don’t need to know each type of compression as it has already given the graph by which you can choose the amount of compression.
And I go with the default one
Once you are done choosing the type of compression, click the Generate button and your ISO will be created!
7. Testing the ISO file with the built-in QEMU emulator
Once the Cubic has finished creating the ISO you requested, it lets you test the ISO file. To test the file, click on the
Test bottom located in the upper left corner:
And he launched QEMU:
And I ran into a problem while trying to update the repositories saying: Please use apt-cdrom to have this CD-ROM recognized by APT.
How to solve “please use apt-cdrom for this CD-ROM to be recognized by APT”
To solve this problem, you just need to disable the installation disk (CD-ROM) from the software resources.
Open software resources in Linux Mint and if you are using Ubuntu you will need to use the Software and Updates tool.
Once you disable the CD-ROM, it should work like any general ISO you download from the official page!
It was quick. Right?
This was my take on how you can easily create custom ISO images of Ubuntu or other Linux distributions using Cubic with its practical usage.
If it’s something you could use, give it a try. Let me know in the comments if you get stuck, and I’ll do my best to help you out.