Creating a Custom Linux Image with Pre-Installed Software

Sahan Jayasuriya
3 min readJul 4, 2022

When I joined my current workplace, I was provided with a laptop with Linux Mint installed. Even though the induction process was smooth and efficient, I had to spend several days installing and setting up different software necessary for day-to-day work. So I thought, what if we can create a customized Linux ISO image that comes with all the essential software pre-installed and configured? That would definitely save a lot of time for the newcomers.

So I did some research and ended up with Cubic, a free and open-source GUI wizard to create a customized Live ISO image for Ubuntu-based distributions. Cubic permits effortless navigation through the ISO customization steps and features an integrated virtual command line environment to customize the Linux file system. You can create new customization projects or modify existing projects. Important parameters are dynamically populated with intelligent defaults to simplify the customization process. I used Cubic to install and configure software like Java, Postgresql and IntelliJ IDEA and bundle it with the Linux ISO.

Installing Cubic

Open a terminal window in your Linux machine and execute the following commands to install Cubic.

sudo apt-add-repository universe
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install --no-install-recommends cubic

Now you need to download a Ubuntu-based Linux distribution. In this article, I’m using Linux Mint 20.3 — Cinnamon Edition, which can be downloaded from here.

Now you’re all set to customize your ISO

Using Cubic

The project directory must be chosen on the first screen. Make sure to use a different directory for each unique ISO since there can only be one project per-directory (or delete all project files when the task is complete).

Figure 1 — Welcome Screen to select the project directory

To create the custom image, you must choose the original ISO image (in our case, the Linux Mint ISO) in the following window. The rest of the information will be filled in automatically once you’ve chosen the image. Nothing in the Original ISO section should be altered. However, you can alter the data under the Custom ISO area.

Figure 2 — Window to select Linux ISO and edit disk information

Once you click Next, a terminal window indicating that you are in a root environment will appear.

Figure 3 — Terminal window to execute commands as root

Install all the software you require using apt-get, snap, etc., from this terminal window. You can also change configurations like the path variables and system settings. If you do some research and get familiar with the desktop environment, you can also create/modify themes from the terminal itself. Cubic has allowed you to easily copy files from your desktop to the virtual machine just by dragging them to the terminal window.

Click Next once you’ve finished this task. Cubic will now start creating your unique ISO. After it’s finished, click Finish to access your new disk image in your project directory.

Figure 4 — Image is being built

You can delete all project files on the last screen. I would advise you to do this unless you actually need the files. You are now prepared to install your customized platform by burning your ISO image to a CD/DVD or USB drive (I generally use it with a VirtualBox VM).

You are all set to use the customized Linux image you just built. Enjoy!

--

--

Sahan Jayasuriya

A simple and humble person who enjoys mingling with nature. Career is developing software, but life is full of laughter and adventure.