首页 > 解决方案 > 为什么 u-boot 在 rpi3 中调用 grub?

问题描述

我有rpi3。

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

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

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

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

标签: linuxubuntuembedded-linuxu-bootgrub

解决方案


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

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

一些发行版(Suse、Fedora [2])已经决定,如果所有受支持的系统都以相同的方式(即通过 GRUB)引导,那么维护会更容易。Debian Buster 也随着 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/


推荐阅读