Skip to content

树莓派引导模式

介绍

树莓派具有许多不同的启动阶段。本文档说明了引导模式如何工作以及 Linux 引导支持哪些模式。

启动顺序

SD卡启动

USB boot包括以下两种模式: * 设备启动:作为大容量存储设备启动 * Host boot:使用以下其中一项作为 USB 主机启动: * 大容量存储启动:从大容量存储设备启动 * 网络启动:通过以太网启动

GPIO引导模式

特殊的 bootcode .bin-only引导模式

USB主机和以太网启动可以由基于 BCM2837 的树莓派 s (即 Pi 2B版本 1 .2,Pi 3B和 Pi 3B +)执行(树莓派 3A +无法联网,因为它没有内置的以太网接口)。此外,除了 Pi 4B 以外,所有树莓派型号都可以使用新的仅限 bootcode .bin的方法来启用 USB 主机启动。

注意: 树莓派 4B不使用 bootcode .bin文件-而是引导加载程序位于板载 EEPROM 芯片中。 Pi 4B引导加载程序目前仅支持从 SD 卡引导。将来的软件更新将添加对 USB 主机模式启动和以太网启动的支持。请参见Pi4 BootflowSPIBootEEPROM

将 SD 卡格式化为 FAT32 ,然后复制到最新的bootcode.bin。 SD卡中必须装有 SD 卡才能启动。一旦从 SD 卡加载了 bootcode .bin,Pi就会继续使用 USB 主机模式启动。

这对于基于 BCM2835 和 BCM2836 芯片的树莓派 1、 2 和 Zero 模型非常有用,并且在 Pi 3无法启动的情况下(最新的 bootcode .bin包括 Pi 3B的其他错误修复)引导代码烧入 BCM2837A0 中)。

如果即使使用该 bootcode .bin,大容量存储设备仍然无法正常工作,请向 SD 卡添加新文件"超时"。等待大容量存储设备初始化的时间将延长到六秒钟。

bootcode.bin UART启用(树莓派 4B之前的版本)

有关在 Pi4 引导加载程序上启用 UART 的信息,请参见本页

可以使早期的 UART 调试启动问题(仅适用于上述 bootcode .bin的启动模式)。为此,请确保您具有固件的最新版本(包括 bootcode .bin)。要检查当前固件是否支持 UART :

$字符串 bootcode .bin | grep BOOT_UART
BOOT_UART = 0

要从 bootcode .bin启用 UART ,请使用:

sed -i -e" s/BOOT_UART = 0/BOOT_UART = 1 /" bootcode.bin

接下来,将一条合适的 USB 串行电缆连接到您的主机(树莓派可以使用,尽管我发现最简单的方法是使用 USB 串行电缆,因为它可以解决所有麻烦的 config .txt设置)。在 Pi 或 CM 板上使用标准引脚 6 、 8 和 10 (GND,GPIO14,GPIO15)。

然后在 Linux 或 Mac 上使用screen或在 Windows 上使用putty连接到串口。

设置串口以在 115200 -8-N-1接收,然后启动 Pi /Compute模块。当 bootcode .bin运行时,您应该从设备获得立即的串行输出。