Sometimes you want to get the smallest image you can get, either because your storage device has limited capacity, you may want a faster boot, oe because you can. In the past, I’ve covered minimal firmware images for Raspberry Pi using Raspbian or the Yocto Project, as well as SliTaz or more recently a minimal Ubuntu 16.04 for ODROID C2/C1+ boards. Minimal images are also popular for containers like docker or LXD.
Canonical has released Ubuntu minimal images for several years, and Dustin Kirklan blogged about Ubuntu 18.04 LTS mini images a few days ago, showing the good progress made over Ubuntu 14.04 and 18.04 “Bionic Beaver”, and asking for feedback.
The charts above shows the minimal image went from around 62.78 MB (compressed) and 179.67 MB (uncompressed) for Ubuntu 14.04 LTS down to 29.65 MB (compressed) and 77.5 MB (uncompressed). That’s the number of AMD64 images, but ARM64 Ubuntu Bionic image is even smaller at 27 MB. The minimal images still give you the ability to apt install any package in the Ubuntu archive.
Ubuntu 18.04 is comprised of 100 Debian packages, and in order to make the size smaller they’ve remove locales and languages, documentation (e.g. manpages), and optimized other parts. It should also be noted the image lacks a kernel and an init system, as it’s intended to be used inside a container or chroot.
docker run -it ubuntu:bionic
If you see further room for improvements, you can leave feedback here.