Translated message

A translation of this page exists in English.

SiFive HiFive Premier P550 上的 RHEL 10 入门

已更新 -

本指南提供了在 SiFive HiFive Premier P550 开发板上安装 Red Hat Enterprise Linux (RHEL) 10 Developer Preview 的说明和信息。

关于硬件和软件

SiFive HiFive Premier P550(也称为“HF106”)是一个 RISC-V 64 位开发系统。它由一个模块上的系统(SOM - HF106S)和一个载板(HF106C)组成。它具有开放固件(例如 U-Boot 和 OpenSBI)、基板管理控制器 (BMC)、多个网络接口、JTAG 和各种其他外围设备。

红帽已与 SiFive 合作,在此平台上提供 RHEL 10 的开发人员预览。此预览允许开发人员探索将软件移植到 riscv64 指令集架构 (ISA)。此开发人员预览软件的主要特性包括:

  • 它尚未经过 Red Hat 的全面测试,不适用于生产环境或用例。
    红帽不为开发人员预览版本、组件或功能提供技术支持。
  • 如果开发人员预览版可用,则可能没有从开发人员预览到正式发布 (GA) 版本的迁移路径;可能需要一个完全的 GA 安装,这可能导致数据迁移需求或数据丢失。
  • 参与是可选的,并且版本可能随时更改或删除。
  • 红帽没有义务在现在或将来支持开发人员预览版功能。

有关红帽的开发人员预览计划的详细信息,请参阅其支持范围:红帽开发人员预览支持范围

请注意,此开发人员预览存在一些已知的限制。在尝试在主板上运行 RHEL 10 之前,请熟悉下面 限制、已知问题和注意事项 部分的内容。

安装

选择存储选项

SiFive HiFive Premier P550 主板在存储方面提供了多种选择。您应该选择最适合您用例的一个。

  • SATA 驱动器:这可能是最好的全方位选项,因为它提供非常好的性能,同时保留 PCIe 插槽可用,以便可以在其中安装 GPU。
  • NVMe 驱动器:解锁最快的存储性能,但阻止安装 GPU。对于无头系统,如构建服务器,这是一个不错的选择。需要购买额外的硬件(NVMe PCIe 适配器)。
  • USB 驱动器:平均性能和可靠性;占用主板的一个 USB 端口。仅用于测试或作为一种将 OS 镜像闪存到更好的存储设备的方法。
  • microSD 卡:由于在从该设备启动 RHEL 10 时观察到可靠性问题,因此不建议 使用 microSD 卡。仅用于测试或作为一种将 OS 镜像闪存到更好的存储设备的方法。

您需要什么

根据存储的选择,您将需要以下之一

  • SATA 驱动器SATA 电缆
    • 对安装的建议:SATA USB 外壳或适配器
  • NVMe 驱动器NVMe PCIe 适配器
    • 对安装的建议:NVMe USB 外壳或适配器
  • USB 驱动器
  • microSD 卡
    • 作为提醒,强烈建议不要 使用 microSD 卡。
    • 对安装的建议:USB 读卡器

存储介质的容量至少需要 16GB。

无论选择哪种存储,您都需要以下所有内容:

  • USB-C 转 USB-A 电缆,用于串行控制台访问(包含在盒子内)
  • ATX电源(见官方兼容性列表

或者,您可能还想获得以下内容:

  • PCIe 图形卡 (GPU)
  • 监视器
  • USB 键盘
  • USB 鼠标

如果您对使用图形界面有兴趣,您只需要 GPU、显示器、键盘和鼠标。主板的内置 GPU 在 RHEL 10 中未启用。请参阅 附录 B:已确认可以正常工作的 GPU 列表的已知可工作的 GPU

准备存储设备

SiFive HiFive Premier P550 的 RHEL 10 开发人员预览以磁盘映像的形式分发,您可以将其写入目标存储介质。

根据您选择的存储选项,一些细节会略有不同,但总体流程保持不变。需要有一台运行 Linux,或者 Windows 的计算机来准备存储介质。

下载并解压缩 RHEL 10 镜像

本文档未包含用于 RISC-V 开发人员预览的 RHEL 10 的具体的下载链接。请查看开发人员门户网站上的 RISC-V 的 RHEL 10 开发人员预览页面 ,以获取更多信息。

镜像文件将被压缩(即有 .img.xz 扩展名)。您需要先解压缩它。

在 Linux 上:

像这样使用 unxz:

$ unxz --keep --threads=0 rhel-10.0-riscv64-dev-preview.img.xz

在 Windows 上:

可以使用像 7-Zip 这样的免费开源工具。

将镜像写入存储设备

重要提示:此过程将覆盖目标存储设备上的所有数据。确保您已选择了正确的设备。

在 Linux 上:

您可以使用 dd 命令将 RHEL 10 镜像写到目标存储设备。

  • 将目标存储设备连接到您的计算机;这通常需要使用某种 USB 外壳。
  • 识别存储设备:打开终端并使用如 lsblksudo fdisk -l 命令识别设备名称(例如,/dev/sda/dev/sdb )。要非常小心地识别正确的设备。
  • 卸载存储设备:如果目标存储设备上的任何分区已自动挂载,请卸载它们。例如,如果/dev/sdb1 已挂载,请使用 sudo umount /dev/sdb1
  • 写镜像:使用sudo dd iflag=fullblock oflag=direct bs=4M status=progress conv=fsync if=/path/to/rhel-10.0-riscv64-dev-preview.img of=/dev/sdX。使用解压的 RHEL 10 镜像文件的实际路径替换 /path/to/rhel-10.0-riscv64-dev-preview.img,使用目标存储设备的正确设备名称替换 /dev/sdX。要非常小心地验证此步骤!写入错误的设备可能会破坏系统上的数据。
  • 等待完成:此过程可能需要一些时间。

在所有操作系统上:

您可以使用 balena Etcher 之类的工具将 RHEL 10 镜像写入目标存储设备。

  • 将目标存储设备连接到您的计算机;这通常需要使用某种 USB 外壳。
  • 启动 balena Etcher。
  • 单击“Flash from file”,并选择解压的 RHEL 10 镜像文件(rhel-10.0-riscv64-dev-preview.img )。
  • 点击“Select target”,并选择目标存储设备。确保选择了正确的设备。
  • 单击“Flash!”开始写过程。
  • 等待过程完成。这可能需要一些时间。

HiFive Premier P550 镜像更新流程 文档提到,balena Etcher 在刷不可启动的工具镜像时可能会显示一条“Missing partition table”警告,建议单击“Continue”。对于可启动的 OS 镜像(如用于 RISC-V 开发人员预览的 RHEL 10 ),可能会出现或不出现此警告。

替代的安装方法

上面记录的过程只是准备存储设备时的众多可能性之一:最终,任何导致镜像被准确写入的方法都可以正常工作。

例如,HiFive Premier P550 镜像更新流程 文档的第 2 章介绍了如何从 U-Boot 提示符直接将 Ubuntu 镜像写入主板的 eMMC 芯片。可以使用非常类似的过程将 RHEL 10 镜像写入已连接到主板的 SATA 驱动器:只需运行

=> es_fs write usb 0 rhel-10.0-riscv64-dev-preview.img sata 0

另一种可能性是将镜像传到主板上已安装的操作系统,并从那里写入:例如,如果您有 Yocto 或任何其他 OS(包括 RHEL 10 本身)在 USB 驱动器上运行,则可以通过运行以下命令将 RHEL 10 镜像写入 NVMe 驱动器

$ sudo dd iflag=fullblock oflag=direct bs=4M status=progress conv=fsync if=/path/to/rhel-10.0-riscv64-dev-preview.img of=/dev/nvme0n1

如果您选择这种方式,请在尝试引导到 RHEL 10 之前,确保用于写入镜像的存储设备已与主板分离或已清除。

主板设置

连接存储设备

根据您选择的存储,步骤将会有所不同。

  • 对于 SATA:将 SATA 数据线连接到 SATA 连接器( SiFive HiFive Premier P550 入门指南 的图 1-1 中的 #33),并将电源连接到 SATA 驱动器。
  • 对于 NVMe:这需要一个插到 PCIe 插槽的 M.2 适配卡( P550 入门指南 的图 1-1 中的 #27,这是一个具有 x16 机械外形的 4 通道PCIe Gen 3 连接器)。将 NVMe 驱动器安装到适配卡中,然后将适配卡插到 PCIe 插槽。
  • 对于 USB:将 USB 驱动器插到主板背面的 USB 端口。确保使用底部的 USB 端口,因为使用顶部的端口时启动可能无法正常工作。
  • 对于 microSD 卡:将 microSD 卡插到主板背面的 microSD 插槽。

请确保任何时候 只有一个存储设备 连接到主板。当连接了多个存储设备时,可能会选择一个错误的设备。为避免这种情况,请断开所有存储设备,除了要从其启动的那个存储设备。

检查 Boot DIP 开关

确保 Boot Select DIP 开关( P550 入门指南 的图 1-1 中的 SW1、#28)设置为允许从 SPI-Flash 上的 U-Boot 启动(默认设置“0010”)。然后,U-Boot 将扫描可启动介质,microSD 卡 (MMC1) 是操作系统的搜索顺序中的第一个。

连接外围设备

如果您打算使用图形界面,请通过 USB Type-A 端口( P550 入门指南 的图 1-1 中的 #10)连接键盘和鼠标(需要单独的 PCIe 显卡,因为初始版本中未启用板载 HDMI)。

如果使用了 PCIe 显卡,请将显示器与其相连。

至关重要的是,连接串行控制台 ,如下一节中所述。这对于首次启动和初始设置至关重要。

连接到主板的串行控制台

使用 USB-C 线将 SiFive HiFive Premier P550 主板背面的 USB-C 端口( P550 入门指南 的图 1-1 中的端口 15)连接到您的计算机。该端口连接到 FTDI FT4232 USB-to-UART 控制器。

FTDI 控制器枚举了四个串行端口,其在 Linux 上显示为:

/dev/serial/by-id
├── usb-FTDI_Quad_RS232-HS-if00-port0 (SoC JTAG)
├── usb-FTDI_Quad_RS232-HS-if01-port0 (BMC/MCU JTAG)
├── usb-FTDI_Quad_RS232-HS-if02-port0 (System Serial Console / SoC UART0)
└── usb-FTDI_Quad_RS232-HS-if03-port0 (BMC/MCU UART Console)

有关更多详细信息,请参阅 HiFive Premier P550 软件参考手册、表 4 和 SiFive HiFive Premier P550 入门指南、第 7.2 节。

需要用来访问系统串行控制台(SoC UART0)的设备将有所不同,具体取决于 OS 。

在 Linux 上:

这些通常被命名为/dev/ttyUSB0/dev/ttyUSB3。为了更稳定的识别,请使用 /dev/serial/by-id/ 下面的路径,如上所示。正确的设备通常是 /dev/serial/by-id/usb-FTDI_Quad_RS232-HS-if02-port0

在 Windows 上:

它们将显示为 COM 端口(例如,COM7、COM8、COM9、COM10)。系统串行控制台通常是分配给 FTDI 设备组的第三个 COM 端口。

一旦识别了设备名称,就可以使用终端仿真器(如 Linux 上的 picocom、screen 或 minicom,或 Windows 上的 PuTTY)来连接它。终端仿真器需要按如下配置:

  • 波特率:115200
  • 数据位:8
  • 奇偶校验:None
  • 停止位:1
  • 流量控制:None

有关详细设置,请参阅 SiFive HiFive Premier P550 入门指南 的第 7.2 章节。

Linux 的命令示例:

$ picocom -b 115200 /dev/serial/by-id/usb-FTDI_Quad_RS232-HS-if02-port0

使用 Ctrl-A Ctrl-X 退出 picocom。

升级主板的固件

在 SiFive HiFive Premier P550 上运行 RHEL 10 之前,您需要确保您在运行最新版本的固件。在撰写本文时,应该是版本 2025.04.00-HFP550 ,但可能从 SiFive 的 GitHub 帐户可以获取更新的版本。

有关如何升级主板固件的详细说明,请遵循 HiFive Premier P550 镜像更新流程 文档的第 2 章。

注意:您应该只按照说明进行操作,直到 bootloader_ddr5_secboot.bin 被写入:无需将更新的 OS 镜像写入主板的 eMMC。

除了指南中提到的步骤之外,升级固件之后且在重启主板之前,您还应该在 U-Boot 提示符下运行以下命令:

=> env default -f -a
=> env save

这会将 U-Boot 的配置恢复回其默认的、已知的良好状态。

您可能还希望运行以下命令,来将 U-Boot 输出仅限制到串行控制台,以使 GRUB 菜单响应更快:

=> env set stdout serial
=> env set stderr serial
=> env save

初始系统设置

启动过程

RHEL 10 默认将启动到图形会话。由于板载 GPU 未启用,因此只有在安装了 PCIe 显卡后才能使用图形会话。

开启主板后,连接到 PCIe 显卡的显示器将在最初一分钟左右保持空白。这是预期的:Linux 仅在启动过程的较晚时候初始化 GPU,在此之前不会产生任何输出。

如果您连接到主板的串行控制台(如前面部分中所述),您将能够看到早期的启动消息。此外,您将能够与 U-Boot 固件和 GRUB 引导加载程序进行交互。建议至少在第一次启动时连接到串行控制台。

登录信息

SiFive HiFive Premier P550 的用于 RISC-V 开发人员预览的 RHEL 10 镜像附带一个默认的非特权用户。

此用户的登录凭据是:

  • Username: redhat
  • Password: redhat

首次通过串行控制台或图形显示管理器登录时,系统将提示您选择自己的安全密码。

redhat 用户是 wheel 组的成员,因此它可以使用 sudo 执行管理任务。

如果由于某种原因,默认用户登录失败,或者您需要在不知道 redhat用户密码的情况下执行需要 root 访问权限的恢复任务,请参阅附录 A:手动 Root 密码设置

安装后任务

使用 Podman 运行容器镜像

您可以使用 Podman 通过 URL 直接加载容器镜像。例如,要加载 Fedora 容器镜像:

$ podman load -i https://dl.fedoraproject.org/pub/alt/risc-v/release/42/Container/riscv64/images/Fedora-Container-Base-Generic-42.20250414-8635a3a5bfcd.riscv64.oci.tar.xz

初始加载可能会出现卡住的情况,但只要等待就能完成。加载后,您可以运行它:

$ podman run --rm -it localhost/fedora:42

对于注册表中已有 riscv64 支持的镜像(例如 Alpine),通常不需要特殊步骤。

限制、已知问题和注意事项

此开发人员预览存在一些已知的限制。

  • 无法访问软件包存储库:所提供的磁盘镜像预装了相当多的软件:包括完整的 GNOME 桌面、Firefox 网络浏览器、许多编译器和解释器以及各自特定于语言的软件包管理器和构建工具。但是,对软件包存储库的访问没有配置,因此无法像在 RHEL 上那样安装其他软件包。同样,目前也没有更新计划。
  • 启动反馈:在没有串行控制台的情况下,启动过程提供的反馈有限。控制台日志显示来自固件、U-Boot、GRUB 和内核的详细消息。
  • 引导加载程序交互:与固件和引导加载程序(U-Boot、GRUB)的交互只通过串行控制台进行。
  • 板载视频(HDMI):此开发人员预览中未启用板载 GPU,并且没有从板载 HDMI 端口检测到视频输出。如果想使用图形会话,您需要在主板的 PCIe 插槽中安装一个独立的 GPU。
  • 板载音频(模拟插孔):此开发人员预览中未启用板载音频控制器。如果安装了 PCIe 图形卡,音频输出可以通过 PCIe 图形卡的 HDMI 端口正常工作,或者可以使用 USB 音频接口。

测试过程中发现了以下问题:

  • 间歇性无法启动: 机器有时会无法正常启动。这通常是由于系统的关键组件遇到致命的“unhandled signal”错误而引起的。从 microSD 卡启动时,此问题会频繁出现,这就是为什么红帽建议避免使用该类型的存储设备,而选择 SATA、NVMe 或 USB。
  • 间歇性无法关机/重启:系统有时会在 U-Boot 完全重新初始化之前挂起。发生这种情况时,请使用主板的重置或电源按钮。
  • 缺少 RTC(实时时钟)功能:重启后,实时时钟不会在 OS 级别上保持时间。虽然基板管理控制器 (MCU) 可以设置并检索时间,但操作系统在一致地保持或推进此时间方面存在问题。

其他注意事项:

  • 关闭:始终执行正常关机(例如,poweroffshutdown -h now 命令),以防止文件系统损坏。等待类似“System halted”或“Power down”的确认消息。

社区和支持

参考文献

附录 A:手动 Root 密码设置(如果默认用户登录失败)

本附录描述了当默认的 redhat 用户登录不成功或者需要直接的 root 权限才能恢复时,如何设置 root 密码。这涉及中断引导加载程序(GRUB),以修改内核参数,并启动到单用户模式。

  1. 连接到串行控制台:确保您的系统串行控制台 (/dev/serial/by-id/usb-FTDI_Quad_RS232-HS-if02-port0或您操作系统上的等效设备)已连接,并且您的终端仿真器处于活动状态。
  2. 加电并中断 GRUB :打开 SiFive HiFive Premier P550 的电源。仔细观察串行控制台输出。U-Boot 加载 EFI 应用程序后,将出现 GRUB 菜单。快速使用箭头键停止自动启动倒计时。选择主 RHEL 条目(通常是第一个)。
  3. 编辑启动参数:按 e 键编辑所选的启动条目的命令。
  4. 修改内核行:您会看到几行。找到以“linux”开头的行。此行指定内核镜像及其参数。导航至此行的末尾。
  5. 添加 rd.break :将“rd.break”附加到 linux 行的末尾。例如,如果它以“rhgb quiet”结尾,则将其更改为“rhgb quiet rd.break”。
  6. 使用修改后的参数启动:按 Ctrl+x 或 F10 使用这些修改后的参数启动。
  7. 访问 Root Shell :系统将启动,然后带您进入 root shell,通常在 initramfs 环境中,并出现类似switch_root:/# 的提示。
  8. 重新挂载根文件系统:根文件系统以只读方式挂载在 /sysroot。您需要将其重新挂载为读写:mount -o remount,rw /sysroot
  9. Chroot 进到系统:将根更改为 /sysroot ,来对您的实际系统文件进行操作:chroot /sysroot 。提示符应该改变了,例如,sh-5.x# 或类似的。
  10. 设置 Root 密码:现在您可以通过运行 passwd root 更改 root 密码 。输入并确认新的强密码。如果需要,您还可以通过运行 passwd redhat 重置 redhat 用户的密码。
  11. 确保 SELinux 重新标记:如果启用了 SELinux(RHEL 中的默认设置),请创建 /.autorelabel 文件,来强制在下次启动时重新标记整个文件系统。这在手动修改文件系统后很重要。touch /.autorelabel
  12. 退出并重启:输入 exit 离开 chroot 环境(回到 switch_root:/# 提示符)。输入 reboot 或再次输入 exit。如果 exit 没有触发重启,可以使用 reboot -f ,但最好正常重启。
  13. 正常启动:系统现在应该可以正常启动了。如果触发了 SELinux 重新标记,则首次启动可能需要较长时间。然后,您可以使用刚刚设置的密码以 root 身份登录,或者如果您重置了其密码,则可以以 redhat 用户身份登录。

此流程允许您重新获得对系统的管理权限。

附录 B:已知正常工作的 GPU

以下 GPU 已经过红帽测试,并且已知可与用于 RISC-V 开发人员预览的 RHEL 10 一起工作:

  • AMD Radeon RX 550
  • AMD Radeon RX 560
  • AMD Radeon RX 570

其他 GPU,尤其是 Linux 内核直接支持且无需安装额外驱动程序的 GPU,也可能可以正常工作。

附录 C:了解主要区别:RISC-V 与 x86_64

HF106 上的开发环境可能与许多 Red Hat 用户习惯的环境不同,这主要是由于 RISC-V 和 x86_64 系统之间的架构差异。

固件和系统配置:

  • 在 x86_64 系统中,初始的主机配置是由系统固件(历史上是 BIOS,现在通常是 UEFI)管理的。UEFI 充当硬件和操作系统之间的接口,利用高级配置和电源接口 (ACPI) 来抽象硬件配置,并告知操作系统可用的硬件。
  • 不支持 ACPI 的系统在当前的 RISC-V 生态系统中很常见,例如带有此用于 RISC-V 开发人员预览的 RHEL 10 的 SiFive HiFive Premier P550,使用“设备树”。这是一个数据结构(通常是编译成二进制 blob 的文本文件,.dtb ) 其在运行时为操作系统内核定义了平台的硬件组件和外设。虽然未来的 RISC-V 服务器平台旨在实现 ACPI,但大多数当前系统都依赖设备树。对于 RHEL 用户来说,这意味着内核通过设备树而不是 ACPI 表来了解硬件。

附录 D:启动流说明

带有 RHEL 10 开发人员预览的 P550 等 RISC-V 系统上的启动过程涉及多个阶段,最终以在 Linux 内核中取得控制权结束。提供的控制台日志表明一个由 U-Boot 启动的基于 EFI 的启动过程。

  1. 重置和初始引导加载程序(ZSBL/ROM) :当系统加电或重置时,片上系统 (SoC) 内的专用安全处理器从其重置向量开始执行,将控制权传给位于其内部只读存储器 (ROM) 中的零阶段引导加载程序 (ZSBL)。ZSBL 执行必要的、最少的硬件初始化。它读取硬件设置,例如启动选择 DIP 开关(SW1),以确定下一阶段引导加载程序的源。
  2. 从 SPI 闪存加载 U-Boot 和 OpenSBI :将启动选择 DIP 开关(SiFive HiFive Premier P550 入门指南的图 1-1 中的 SW1、#28)设置为“0010”(DIP 开关 1 OFF、2 ON、3 OFF、4 OFF,使用 ON=0,OFF=1 先读取 MSB),ZSBL 从主板的 SPI 闪存加载主引导加载程序环境。该环境包含在安全处理器上运行的固件,以及用于初始化 LPDDR5 D-RAM 的有效载荷。一旦固件初始化了主存储器,就可以从 SPI 闪存将 U-Boot(Das U-Boot)和 OpenSBI 加载到内存,并且主 CPU 可以退出重置来运行它们。
    • 特权级别:RISC-V 定义了几个特权级别。M 模式(机器模式)是强制的,且具有最高特权,具有直接硬件访问权限。S 模式(监督模式)用于操作系统,U 模式(用户模式)用于应用程序。
    • OpenSBI(开放监督二进制接口) :OpenSBI 首先初始化,在 M 模式下运行。它提供了一个监督执行环境(SEE)和一个 S 模式操作系统内核将其用于低级硬件访问(例如,控制台 I/O、处理器间中断、计时器编程)的 M 模式运行时系统二进制接口(SBI)。这种分离简化了操作系统的移植和虚拟化。控制台日志显示“OpenSBI v1.4”正在初始化。
  3. U-Boot执行:OpenSBI 之后,U-Boot(根据控制台日志,版本为 2024.01)接管控制。U-Boot 执行进一步的硬件初始化,包括初始化以太网端口和探测 USB、SATA 和 PCIE ,以查找存储设备。然后,它按照特定顺序扫描中找到的潜在启动介质,准备启动操作系统。U-Boot 中配置的默认扫描顺序是 MMC1(microSD 卡)、USB、NVMe、SATA,然后是 MMC0(eMMC)。
  4. 使用 GRUB 的 EFI 启动(适用于 RHEL 10) :对于 RHEL 10 开发人员预览镜像,U-Boot 利用其 EFI(可扩展固件接口)支持。控制台日志显示:"** Booting bootflow 'sata@0x50420000.bootdev.part_1' with efi",后面是 "Booting /efi\boot\bootriscv64.efi"。这表明 U-Boot 定位并从存储设备上的 EFI 系统分区(ESP)执行 EFI 启动应用程序(在本例中为 GRUBbootriscv64.efi ) 。
  5. GRUB 和内核加载:GRUB(Grand Unified Bootloader,根据日志版本为 2.12)加载,并通常会显示一个启动菜单。此菜单允许用户选择 RHEL 内核(例如“Red Hat Enterprise Linux (6.12.0-89.rv.0.el10.riscv64) 10.0 (Coughlan)”)或其他选项,如救援内核或 UEFI 固件设置。一旦选择了(或超时),GRUB 就会将指定的 Linux 内核和其关联的初始 RAM 磁盘(initramfs),以及合适的设备树 blob 加载到内存中。
  6. 内核初始化:Linux 内核从 GRUB 接管控制权。它根据引导加载程序传递的设备树初始化其余的系统硬件,并从 initramfs 启动 init 进程(PID 1,通常是 RHEL 上的 systemd)。initramfs 包含足够的内核模块,以便 systemd 为各种存储设备加载驱动程序,并查找和挂载根文件系统。它旋转挂载点来重新定位 / 上的 rootfs,并从在 / 中存在的版本重新执行。这然后导致完整的 RHEL 用户环境和登录提示。

如所描述的那样,SiFive HiFive Premier P550 支持从 SPI 闪存启动。一旦 SPI 闪存上的 U-Boot 运行,它就可以从其他存储介质启动下一阶段(内核和用户空间)。虽然 U-Boot 可以搜索用于启动的 extlinux.conf 文件,但 RHEL 10 开发人员预览镜像利用 U-Boot 的 EFI 功能来加载 GRUB。

Comments