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.
I think I agree. ISO files have become a bit of a headache lately, and I’d much rather just use a straightforward image I can dd to a USB drive.
Erm, most of that article is “rubbery logic”.
ISO9660 file format is old, but it’s standard, and you don’t have to bother with any of the extensions unless you really want to. It only becomes a “hodge podge of changes bolted on” if that’s what you want your ISO to be.
Note that “hybrid ISO” is not an actual standard. It’s a hacky pile of crap that violates ISO9660 specs (which explicitly state that the first 16 sectors must be zeroed, likely so that old drives have “lead in time” to get themselves synced and don’t need extra logic for the “seeked backwards to before the disk’s start” case) while also failing to work properly for USB (where things like partition tables need correct info for CHS for BIOS, or correct disk size for GPT to get the secondary/backup partition table at a location that actually complies with the UEFI/GPT specs). It can’t be “guessed correctly” by any kind of image file (without device knowing the specific device’s characteristics).
A drive image file, in comparison, can also not work properly – it’s the same hacky pile of crap as “hyrbid ISO on USB” where you can not get it right. Correcting the originally wrong information on first boot is likely to cause compatibility problems with various system’s firmware on first boot, plus potential compatibility problems with any OS that sees the device before it gets booted. In other words, this “fix our stupidity on first boot” solution is just another hacky pile of crap (being used to hide problems caused by the first hacky pile of crap). The only correct way to do it (to maximize the chance that it’ll actually work on all computers rather than just most computers) is to provide some kind of tool to create the image to suit the drive (like Microsoft does); but then you either need some way of booting an OS to run the tool which is painful.
Creating a USB-stick that is (temporarily) “mostly unusable” (mostly unused) is considered to be acceptable any person with more than 3 brain cells; because you use it once then reformat it. There’s no sane reason to care about the “mostly unused for an extremely short period of time” space. Also; now; most ISO images are used for things like virtual machines and not actually burnt onto a real physical CD; so the “(temporarily) mostly unusable/unused space” problem doesn’t even exist for the most likely scenario.
Of course the “obviously always better” approach is to provide both ISO and the hacky pile of crap. It’s not like creating a bootable ISO image is difficult (or that suitable tools haven’t existed for decades already). It gives me the impression that Barry is just making up bullshit to justify their home-grown flavor of hacky crap with no valid reason (other than being lazy and sucking) to discontinue ISO.