Ubuntu Minimal Install

Today we will be going over the installation of the minimalist version of Ubuntu 18.04. You may be thinking of a minimalistic version of a Linux distro as the bare minimum version of a system. If so, you would be correct.

The system we are going to install from comes in a 64MB ISO image.​You can find the image to download in the Ubuntu help wiki for minimalist versions. You will find some important information regarding the burning of images to a CD or a USB stick (I use dd), and even a few pointers to get started.

You will also see information about installation on UEFI based systems. It does lack support for UEFI; however, for the purposes of this guide, the system will be installed on a virtual machine.

Why Bother?

If you are more confident with Linux and you want to install a system that you can customize yourself, a bare-bones installation is perfect because you can fine-tune your installation with only the software you choose. Also, you will get up-to-date packages during the installation as it requires them to be downloaded from the Internet.

Unlike distros such as Arch, there is an installer that guides you through the process. With Arch and Gentoo, you have to perform each of the steps yourself using command-line tools. Not the case with Ubuntu Mini.

Let’s Begin!

​First, download the 18.04 minimal ISO on the wiki page. If you are going to install on the virtual machine, of course, skip the burning of the ISO.

Next, open up your virtual machine software and create a VM if you haven’t prepared one yet.

Make sure that the ISO and the hard drive you are installing are connected to the VM. OK, let’s start the machine and boot the image.

Let’s simply select the “Install” option in the boot menu. This will load the installer which will ask the usual questions about language, country and timezone, and keyboard.

It has a feature that detects what kind of keyboard layout you have. This will bring up a set of screens with a list of characters to type in. In each screen, you type in a character that you have on your keyboard. After that, it will ask you a few questions about the characters you have on your keyboard. It will ask whether a character is on your keyboard or not. After the quiz, it detected that I had a US keyboard (us:intl).

However, I already knew that. If you know what your keyboard layout is, simply select it from the list.
After the keyboard is selected, the installer will then attempt to find an Internet connection. This is required for installation as the packages need to be downloaded. Once successful, you will then be asked to provide the hostname.

After choosing the hostname, a list of mirrors will appear. These contain the Ubuntu packages that we will download. Remember, just because the mirror is close to you doesn’t mean that it is necessarily the fastest one, or even a fast one at all.

If a proxy server needs to be entered, do so now. Leave it blank if you’re not using a proxy server.

Now the installer can begin downloading the necessary packages to proceed with the installer. Once packages have been downloaded, the system will ask you to provide a username and password for when the user is created.

Next step is partitioning the drive. Because this is a fresh VM with an empty virtual drive, we can simply just use the guided option. It will organize the partitions however it sees fit. If you want to, you can set the partitions manually. For those who want to do the manual option, let’s select “Manual”. We can see a menu. Included in that menu is the drive that we want to install the system to (the one with “VBOX HARDDISK”).

After selecting it, we will be presented with the option to create a partition table because this is a fresh hard drive image. Thus, one has not been created yet. Have it create the table, then we will be able to see the disk structure.

Here is an example. We can define three partitions: the ‘/boot’ partition, the ‘/’ partition, and the swap space. Separating the /boot directory into its own partition isn’t really necessary, but it is highly recommended to do so. You will only need to assign around 120 – 160 MB to this partition.

Next, we shall create a 5GB swap partition.

Then we create the root (‘/’) partition. We look at the structure before writing the changes to the drive. It will ask us if we are sure we want to make changes since they could destroy data.

After the partitioning is complete, the installer will begin downloading the packages to install the system. After the base system has been installed, you will be greeted with a question on how you would like to manage upgrades. I chose to install security updates automatically. Then you will see a menu to choose from the list of programs and packages you want to install onto your new system. You can make it as minimalist, or as bloated, as you like.

After that, it will proceed to install the selected packages.

I encountered a problem when installing the packages. I’m not sure what the issue was. I had a look at configuring the package manager to see if that was the issue. Alas, I still had the problem.

If this happens to you, all is not lost. We can continue the package installation after rebooting. Next, we shall install GRUB to the drive. Since this is a fresh drive, we can safely install GRUB on the master boot record (MBR).

You will be asked whether your system clock is set to the Coordinated Univeral Time (UTC). For systems such as this one with only one operating system, it is fine to say yes. If this system is to have another system (Windows), it is best to say no.

Now we are ready to reboot. Because I couldn’t install anything else, all I had was a terminal login. Fortunately, I can use ‘apt install’ to easily install whatever I liked. First, we should update the package list using ‘apt update’.

Then we can begin installing whichever programs you like, customizing the system to suit you.

What’s Next?

Now you can continue installing new programs of your choosing. You can make it a music studio, a full desktop system, a server of some description, or anything else you want. Enjoy!