Dracut sometimes confuses EFI partition with root filesystem
alexander.thomas at esaturnus.com
Wed Mar 3 11:51:59 CET 2021
We have seen random occurrences of a FAI USB stick failing to start
the installer because dracut sometimes mistakes the EFI partition for
the root filesystem. The occurrence is so low that simply rebooting
and trying again is a viable workaround, but it is annoying when it
Originally this problem showed up as:
mount: /run/initramfs/live: unknown filesystem type 'vfat'
which already hinted at the EFI partition, but it became more obvious
after we made some changes to have vfat support in dracut. Now it
manifests itself as the following lines being repeated a few times:
/dev/mapper/live-rw: Can't open blockdev
mount: /sysroot: special device /dev/mapper/live-rw does not exist.
and then it gives up with:
dracut Warning: Can't mount root filesystem
Poking around in the dracut shell reveals that
/dev/disk/by-label/FAI_CD points to /dev/sdb2 which is indeed the EFI
system partition on the USB stick, instead of /dev/sdb1 which is the
root filesystem. I have no idea why this mapping is wrong and why this
The EFI vfat filesystem does not have a label at all. Maybe giving it
an explicit label will avoid this problem, but this is just a hunch.
The randomness makes it hard to apply trial-and-error on this, so it
would be nice if someone could shine some more light on this issue.
More information about the linux-fai