Increasing download & installation speed: Benefits of a smaller ISO image

by Michael Tremer, June 6, 2018

Do you like what you are reading? Subscribe to our newsletter and don't miss out on the latest...   Join Now

We provide a number of different images to install IPFire on a variety of systems. That can be virtual, a small embedded system or a plain rack server that is being installed from an USB key or CD. IPFire is very very versatile and we are proud to have it running on so many different platforms.

But with all these images, we bloat the size of each release. Each image is available for multiple architectures and with each of them being around 200 MB we reach a full 2GB per release or about ~650 MB per architecture. IPFire 2.17 which did not support the x86_64 architecture was therefore only 1.2GB per release. IPFire 2.11 was only about 500MB per release and the initial 2.0 release only had 60MB with only one ISO image. In total we have 102GB of images on the server for the IPFire 2 series.

The distribution is getting bigger and bigger since we ship more sofware but mainly because the Linux kernel is getting significantly bigger with each release. And of course with all the added drivers we need to ship more and more firmware which really eats up a lot of disk space.

The core components of IPFire itself are actually not that large on disk.

It is not worth fighting the fight to disable drivers that we think nobody is using any more or remove support for other features. We do not want to sacrifice compatibility for saving a few bytes on our server disks. We have decided to change the compression algorithm from gzip to XZ for the flash images for all architectures and we will compress it better by configuring XZ to do so. That on the other hand takes more time when composing the images, but that should be fine since we will save this time when downloading the image again.

This will allow us now to reduce the size for each release by ~300 MB to only 900 MB. Downloads will also be faster since there is less data to transfer and we will of course put less load on the mirrors.

That leaves us only with advantages except investing a little bit more time in compressing the images.