Like most distros, Endless OS is available as a hybrid ISO 9660 image. The main uses (in my experience) of these images are to attach to a virtual machine’s emulated optical drive, or to write them to a USB flash drive. In both cases, disk access is relatively fast.
A few people found that our ISOs don’t always boot properly when written to a DVD. It seems to be machine-dependent and non-deterministic, and the journal from failed boots shows lots of things timing out, which suggests that it’s something to do with slower reads – and higher seek times – on optical media. I dug out my eight-year-old USB DVD-R drive, but didn’t have any blank discs and really didn’t want to have to keep burning DVDs on a hot summer day. It turned out to be pretty easy to reproduce using
qemu-kvm plus device-mapper’s
According to AnandTech, DVD seek times are somewhere in the region of 90-135ms. It’s not a perfect simulation but we can create a loopback device backed by the ISO image (which lives on a fast SSD), then create a device-mapper device backed by the loopback device that delays all reads by 125 ms (for the sake of argument), and boot it:
$ sudo losetup --find --show \ eos-eos3.1-amd64-amd64.170520-055517.base.iso /dev/loop0 $ echo "0 $(sudo blockdev --getsize /dev/loop0)" \ "delay /dev/loop0 0 125" \ | sudo dmsetup create delayed-loop0 $ qemu-kvm -cdrom /dev/mapper/delayed-loop0 -m 1GB
Sure enough, this fails with exactly the same symptoms we see booting a real DVD. (It really helps to remember the
-m 1GB because modern desktop Linux distros do not boot very well if you only allow them QEMU’s default 128MB of RAM.)