Below is a table listing the bootloader support using various device types and Yocto Project releases. All versions of the Mender client software will work with either of the two bootloaders.
|Feature \ Yocto Project version||Older than 2.4 (rocko)||2.4 (rocko)||2.5 (sumo)||2.6 and later|
|GRUB integration for ARM systems||No||No||Yes||Yes, default|
|GRUB integration for Flash/UBI devices||No||No||No||No|
|GRUB integration for x86/UEFI systems||No||Yes, default||Yes, default||Yes, default|
|GRUB integration for x86/BIOS systems||No||No||Yes||Yes|
|U-Boot integration for ARM systems||Yes, default||Yes, default||Yes, default||Yes|
|U-Boot integration for Flash/UBI devices||Partial1||Partial1||Yes||Yes|
1 Flash/UBI support is possible in the rocko branch and older, but it is a lot of manual work and not streamlined, which is why the support is marked as partial. We recommend moving to a more recent branch if possible.
The main technical reason for using GRUB rather than U-Boot is that GRUB requires no patching to work with Mender, whereas U-Boot does. For most users this will be the path of least resistance.