为什么 u-boot 在 rpi3 中调用 grub?

Why u-boot calls grub in rpi3?

我有rpi3.

这种情况是在嵌入式系统下。 RPI 参考显示了如何引导 Ubuntu.

显示了u-boot调用grub和grub调用的方式Linux...

而且我已经尝试过这种链式加载。

在那种情况下,我想知道为什么u-boot会调用grub?不直接调用Linux? grub 是否可以在没有 u-boot 的情况下调用 Linux?

GRUB 需要固件来加载它。 U-Boot 是此类固件的一个实施例。对于 Raspberry 3,您可以改用 EDK2 [1] 或 barebox [3]。

Linux可以直接从U-Boot中加载。通过 bootefi 命令或通过 booti(64 位)或 bootm(32 位)命令使用 Linux EFI 存根。

一些发行版(Suse、Fedora [2])已经决定,如果所有支持的系统都以相同的方式引导,即通过 GRUB,这将使维护更容易。随着 Buster 版本的发布,Debian Buster 也将迁移到 ARMv8 上的 GRUB。

[1] https://github.com/tianocore/edk2-platforms/tree/master/Platform/RaspberryPi/RPi3

[2] https://fedoraproject.org/wiki/Changes/uEFIforARMv7

[3] https://www.barebox.org/