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 delay
target.
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.)
Did you found the bug itself? That would be interesting to learn as well.
I haven’t, no. It looks pretty similar to this older bug https://github.com/systemd/systemd/issues/1505 but it’s a bit early to be sure.