site  contact  subhomenews

Why ISO was retired

December 08, 2021 — BarryK

Some time ago I stopped releasing EasyOS as an ISO file, from then onward as a drive image file only. This has been contentious, and I receive emails from people lamenting the demise of the ISO. So, I should post some thoughts why I made this decision. Not an exhaustive rationale, just some thoughts while I think of them right now...

The ISO9660 file format is very old, going right back to 1988, and has since then had enhancements bolted on, see the Wikipedia ISO9660 page. In addition, there is the "hybrid ISO", enabling booting from a USB-stick, and on top of that enhancements to enable booting from either or both legacy-BIOS and UEFI firmware computers, see here.

What all of the above means is that ISO files are a "dogs breakfast", a hodge podge of changes bolted on over the years.

A Linux distribution provided on a drive image file, in comparison, is very simple. And, very simple to setup to boot on either or both legacy-BIOS and UEFI computers.

Given that optical drives are rapidly receeding into history, and these days we boot from either a USB-stick or install direct to a hard drive partition, what are the differences in doing that, ISO versus image file?

In the case of booting from USB-stick, the answer is: none

You need a tool for writing the file, ISO or image-file, to the USB-stick, and plenty of such tools are available. For example, 'Etcher' available on Windows, Mac and Linux, 'easydd' on Linux, or on Linux you can even use the 'dd' utility.

As you are no longer writing to an optical media, you don't use a CD/DVD burner tool. That is the only change that you have to make.

Having written the file to the USB-stick, ISO or drive-image, you need to configure the PC to boot from it, and you are in business.

So why the incredible amount of opposition to the drive-image-file? That is an very interesting question, that puzzled me for a long time. OK, some more thoughts...

The ISO file is a "wrong fit" for a USB-stick

The iso file is a complete self-contained package. Let's say that you write a 550MB hybrid-ISO file to a 16GB USB-stick. This is what will be on the USB-stick:

ISO
--unusable--

Why is creating a USB-stick that is mostly unusable, considered to be acceptable by most mainline Linux distributions? Simply because they only want to be able to boot the distribution for the purpose of installing it to a internal hard drive. So, they don't care that the rest of the USB-stick is unusable.

On the other hand, a live-CD type of distribution, like Puppy Linux, it is an issue, because the "save file" can only be created on some other drive, usually an internal drive. Wouldn't it be nice if the "save file" or "save folder" could be on the USB-stick, or rather it would be nice if you had that choice.

With a drive-image, the entire USB-stick is available. The EasyOS drive image has two partitions, a vfat "boot partition" and a ext4 "working partition". Initially, the working-partition is only 640MB, but at first bootup it automatically expands to fill the drive. So, this is what you have on the 16GB USB-stick:

boot
 --working-partition, using entire drive--

...think about the implication of that for a moment. Unlike traditional Puppy, you don't have to try and decide where to create a "save file". It already exists, as a "save folder" in the working-partition. First bootup and you are in business, nothing else to do.

And, you never again have to worry about the size of your "save file". At first bootup you have automatically got the entire drive to play in.

This is momentous, and thanks to Dima (forum member 'dimkr'), our most prolific woof-CE developer, the next-generation Puppy is being offered as a drive-image.

Why so much opposition to dropping the ISO file?

I receive regular messages expressing opposition to dropping ISO files, mostly by email.

What I have observed is that the messages are from Puppy old-timers. They have a collection of vintage PCs, all with optical drives. Optical media, CD/DVD, ISO files, that's what they know. And they ain't gonna change.

I am reminded of my step-mother, currently residing in a nursing home. She is 88, and still uses a keyboard flip-phone and an audio cassette player. When the telco dropped support for 3G, I bought her an Android touch phone. Despite very careful instruction, and even writing down simple steps to make a call, etc., I could see her eyes glazing over. She just didn't want to know, and after awhile I had to buy her another keyboard flip-phone.

Ditto with her little portable cassette player. Recently it stopped working and I had to buy another one from China. I did try to introduce her to mp3 files a few years ago, but nup, didn't want to know.

About a year ago, I received an email from a representative of a German Linux magazine. I think that magazine still ships printed magazines with a CD stuck on the front. Anyway, he wanted to review EasyOS and had some questions, and I replied, yeah, go for it.

But, I became increasingly puzzled by his questions. They didn't make any sense. The penny finally dropped when I realised that he didn't have a clue what a Linux distribution on a drive-image file is. His knowledge was ISOs, ISOs and ISOs.

...that taught me that even Linux experts, people who review Linux distributions, may have severe misunderstandings outside of their beloved ISO format.

In conclusion

As mentioned above, the mainline distributions may stick with ISO format just because they have no compelling reason to change. They just want to boot the CD/DVD and then install their distribution to an internal drive.

Other than that use-case, ISO has had it's day, and should be retired.

Oh yes, there are some old computers that won't boot from USB, well they are ancient and approaching relegation to "Silicon Heaven" (you need to be a fan of the Red Dwarf TV series to know what Silicon Heaven is).

There are some multi-boot tools, that enable putting many ISO files on the one USB-stick; however, the ISO format does not have any intrinsic avantage, these boot managers could also be made to boot image files.

I cannot think of a single other use-case where you would want to stay with ISO files.

For Linux developers, if you are interested, I have a script for creating a skeleton drive-image file, with a boot-partition and a working-partition, that will boot on either a legacy-BIOS or a modern UEFI PC. There are three scripts, '2createpcskeletonimage', '2createpcskeletonimage-encrypt' and '2createpcskeletonimage-gpt' -- for easyOS I currently use the middle one, which creates a MSDOS partition table and enables ext4 fscrypt in the working-partition. Syslinux is used for legacy-BIOS booting, rEFInd for UEFI booting. These scripts are in the woofQ tarball, available here.

Dima has a similar script. He is using Syslinux and Efilinux.

What motivated me to create this blog post, is discussion starting here on the Puppy Forum:

https://forum.puppylinux.com/viewtopic.php?p=43658#p43658

EDIT 2021-12-11:
The above link is to Dima's "Vanilla Dpup" next-generation Puppy thread, and ongoing discussion about the merits or demerits of ISO format is hijacking the thread, so I have started another thread:

https://forum.puppylinux.com/viewtopic.php?t=4690

There have been a few posts about using a multi-boot tool such as Ventoy, how convenient to just drop an ISO file onto the Ventoy USB stick, and add it to the boot-list.

However, what needs to be pointed out is that the ISO file has no intrinsic advantage over an image-file. The boot manager can be made to treat an image file as a package, just like an ISO file, and boot it. Quoting from the Ventoy front page:

Directly boot from ISO/WIM/IMG/VHD(x)/EFI files, no extraction needed

And I see that EasyOS is ticked:

img1

...snapshot is from here. Numbering on the left column is Distrowatch ranking.

I received one email that EasyOS is more difficult to boot in a virtual machine, such as qemu. Again, there is no intrinsic reason why the drive image file should be any more difficult than with an ISO.

I have received messages from people who have run EasyOS in a virtual machine, but as it hasn't interested me personally, I never got into documenting how to do it. Good, news, I see that Dima has posted how to run his next-generation Puppy image-file with qemu:

https://forum.puppylinux.com/viewtopic.php?p=43900#p43900

So, I am repeating, there are no use-cases where the ISO format has an advantage over a Linux distribution as a drive image file. The perceived advantages are only due to ignorance.

One more thing, while I think of it. A couple of people have commented that it is more difficult to extract the contents of an image file, vmlinuz, etc., if you want to do a direct frugal install to a internal hard drive. WRONG, WRONG, WRONG!

In EasyOS, you just click on the image file and it opens up and you can copy out the files. You do not have to write it to a USB-stick or try to figure out how to mount the partition inside the image file.

In the pups, you have single-click opening of ISO and SFS files. EasyOS has added that for image files. It is just an implementation detail, easy enough to add to the pups.

EDIT 2021-12-15:
There is now a "Why ISO was retired part-2":

https://bkhome.org/news/202112/why-iso-was-retired-part-2.html       

Tags: easy