boot/grub2: enable support for arm and aarch64 targets
authorErico Nunes <nunes.erico@gmail.com>
Wed, 26 Sep 2018 22:37:17 +0000 (00:37 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Mon, 26 Nov 2018 20:08:13 +0000 (21:08 +0100)
commit273a27804a18c5e232907d5ef6bd01957cf090d7
tree28b1399bbfa58e2a826e5c4a598f4d4a0164b284
parent2d9566b7b7a6d34a37e88426e483e8ceb8568c8d
boot/grub2: enable support for arm and aarch64 targets

This commit enables the arm-uboot, arm-efi and aarch64-efi grub2
platforms in Buildroot.

With the uboot platform, the grub2 image gets built as a u-boot image
and is loaded from u-boot through a regular "bootm". The only
requirement from the u-boot side in order to allow this is that u-boot
is built with CONFIG_API enabled. CONFIG_API seems to not be enabled
by default in most in-tree configurations, however, it seems to be
available for quite some time now. So it might be possible to use this
even on older u-boot versions. This is available only for arm
(32-bit).

With the efi platform, grub2 gets built as an EFI executable. This
allows EFI firmware to find and load it similarly as it can be done
for x86_64. Also, since u-boot v2016.05, u-boot is able to load and
boot an EFI executable, so the uboot efi platform can also be used
from u-boot in recent versions. This has been enabled (mostly) by
default for ARM u-boot. efi platform is available for both arm and
aarch64.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
[Thomas: move the BR2_USE_MMU dependency in
BR2_TARGET_GRUB2_ARCH_SUPPORTS]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
boot/grub2/Config.in
boot/grub2/grub2.mk