The ISO includes lower-case bootx64.efi, should be BOOTX64.EFI
Originally created by @dkg on #12511 (Redmine)
I have a thinkpad X220 that normally boots in EFI mode. I made an
intermediate 3.0~beta4 image by dd’ing the iso to one USB stick. Then
from that i used
tails-installer to create a new USB stick.
however, the new USB stick wouldn’t boot.
Looking at it, i see that the new USB stick has a gpt partition table,
and there is an
EFI/BOOT directory in the first partition (a fat32 filesystem).
however, inside that directory there is a file named “bootx64.efi”. My
x220 doesn’t want to boot from it. I notice that the computer usually
boots from a different volume which has /EFI/BOOT/BOOTX64.EFI (note that
the case is different).
from another computer, i mounted the new USB stick’s first filesystem,
and did:
mv /media/usb/EFI/BOOT/bootx64.efi /media/usb/EFI/BOOT/bootz64.efi
mv /media/usb/EFI/BOOT/bootz64.efi /media/usb/EFI/BOOT/BOOTX64.EFI
(i would have done it in one mv, but the linux kernel understands that
the filesystem is case-insensitive and complains about the filenames
being the same if you try to do that)
after that change, the USB stick boots on my x220!
so interestingly, it looks like:
* the data stored in the FAT32 filesystem actually does have a case
(note that EFI and BOOT are both rendered as upper-case in linux,
though “bootx64.efi” was rendered in lower-case).
* at least one UEFI implementation expects to see BOOTX64.EFI in
upper-case and can’t find it if it happens to be in lower-case.
* the tails-installer is placing it in the filesystem in lower-case
somehow.
Feature Branch: bugfix/12511-bootx64-efi-case