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

标签 linux ubuntu embedded-linux u-boot grub

我有 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 stub 。

一些发行版(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/

关于linux - 为什么u-boot在rpi3中调用grub?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55016050/

相关文章:

Makefile 中的 C : Unix SDL2 library : undefined reference, 问题?

php - 在 Linux 机器上使用 PHP 上传文件

linux - 什么被认为是缓存中的高未命中率/低命中率?

ubuntu - minikube 上的 kubernetes 无法输出到文件

mysql - 在 ubuntu 16.04 中安装和使用 Mysql-proxy 时出现问题

linux - 什么是 linux 中的链式 irq,什么时候需要使用它们?

linux - 如何减去 2 个日志文件中两个时间戳的差异

linux - 为什么 vim 的 d 运算符行为不端?

embedded-linux - Yocto SYSTEMD_SERVICE 安装参数化服务 ("@.service")

opengl - 如何在不成为 DRM 大师的情况下渲染到第二个屏幕?