Details
Description
Solution (original ticket description in the comments):
U-Boot has been found to have broken UEFI provider support between the versions v2018.09 and v2019.07. This means that any image that has this boot loader will not work with our generic boot method using GRUB as a UEFI application. For mender-convert, the only workaround is to find an image that has a boot loader which is either old enough, or new enough, to be outside that range of versions. Usually the version of a boot binary can be found with something like:
strings <FILE> | grep 'U-Boot v20'
In addition, for the kernel to be loadable, it must have an EFI stub (CONFIG_EFI_STUB). Again the only workaround for mender-convert is to find a kernel which has the stub. At least Debian is known to include the stub, but not all downstream vendors are guaranteed to include this. It can be checked in a similar fashion:
file -k <KERNEL> | grep 'EFI application'
If a dedicated U-Boot port is being used (such as for Raspberry Pi), then UEFI won't be used, and the above issues don't apply.
Attachments
Issue Links
- is duplicated by
-
MEN-2815 image created with "Building a Mender Debian image" bootloops on Beaglebone
-
- Rejected
-
- relates to
-
MEN-3033 Research ways of getting vendor BSP layers to automatically use distro_bootcmd when they are not
-
- Open
-
-
MEN-3043 mender-convert: NanoPI M1 Plus; GRUB doesn't load with default configuration
-
- Open
-
-
MEN-2330 Apply patch to GRUB EFI for Debian 9.5 OS
-
- Done
-
-
MEN-2952 Fix broken U-Boot/UEFI support in poky/zeus -> U-Boot v2019.07
-
- Done
-