为啥 u-boot 在 rpi3 中调用 grub?

Posted

技术标签:

【中文标题】为啥 u-boot 在 rpi3 中调用 grub?【英文标题】:Why u-boot calls grub in rpi3?为什么 u-boot 在 rpi3 中调用 grub? 【发布时间】:2019-07-27 16:51:03 【问题描述】:

我有 rpi3。

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

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

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

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

【问题讨论】:

【参考方案1】:

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/

【讨论】:

以上是关于为啥 u-boot 在 rpi3 中调用 grub?的主要内容,如果未能解决你的问题,请参考以下文章

u-boot.bin(自己移植的)烧写进flash后为啥没有反应

如何编译openwrt的u-boot

用grub安装ubuntu为啥会出现以下错误了

关于Linux系统上grub的介绍和使用实例

关于Linux系统上grub的介绍和使用实例

如何设置u-boot变量ip地址