树莓派俱乐部 树莓派俱乐部
  • 首页
  • 树莓派
  • OpenWrt
  • Python
  • Linux
  • 注册
    登录
现在登录。
  • 首页
  • 树莓派
  • OpenWrt
  • Python
  • Linux
首页 Linux 树莓派64位启动过程概述

树莓派64位启动过程概述

chainsx 6 年 前

与传统 X86 设备不同,出于降低成本的考虑,树莓派没有使用 BIOS 和 MBR 等通用的引导机制,其启动过程可分为以下四个阶段:

  • First stage bootloader

树莓派上电后,SoC 中的 bootloader 首先被执行,其作用是挂载 SD 卡上的 FAT32 分区,从而加载下一阶段的 bootloader。这部分程序被固化在 SoC 的 ROM 中,用户无法修改。

  • Second stage bootloader (bootcode.bin)

这个阶段的 bootloader 会从 SD 卡上检索 GPU 固件,将固件写入 GPU,随后启动 GPU。

  • GPU firmware (start.elf)

本阶段中,GPU 启动后会检索附加配置文件(config.txt、fixup.dat),根据其内容设置 CPU 运行参数及内存分配情况,随后将用户代码加载至内存,启动 CPU。

  • User code (kernel8.img)

通常情况下,CPU 启动后便开始执行 kernel8.img 中的指令,初始化操作系统内核,在某些情况下,也可以被 U-BOOT 代替,由 U-BOOT 来加载内核。在树莓派 1 代中,User code 部分被保存在 kernel.img 文件中,2 代中,该文件更名为 kernel7.img,3 代中,该文件更名为 kernel8.img。

综上所述,树莓派上电后的初始化工作大多是在 GPU 中完成的(GPU 内的一颗 RSIC 核心用于完成这些操作)。

更多关于树莓派启动的资料,可参见 elinux.org 的介绍。


本文由树莓派俱乐部总结编辑,转载请注明

#启动#树莓派
3
chainsx
嗷?
评论 (0)
返回
    发表评论
猜你喜欢
  • 树莓派4B安装Windows10桌面版
  • 在树莓派上使用RaspAP开启热点
  • 树莓派3B Windows 10桌面版安装GPU驱动
  • 树莓派3B安装Windows10桌面版
chainsx
嗷?
23
文章
16
评论
324
获赞
文章聚合
关于树莓派OTP
6 年 前
如何快速的修改SSH端口
6 年 前
如何在 Raspberry Pi 上安装 Node.js 和 npm
5 年 前
树莓派使用Proxy代理
6 年 前
Linux 利用公钥私钥实现别名免密码登陆
6 年 前
  • 首页
Copyright © 2018-2025 树莓派俱乐部. Designed by nicetheme.