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

树莓派64位启动过程概述

chainsx2年前

与传统 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 的介绍。


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

#启动#树莓派
1
分享
chainsx 网站编辑
文章 23评论 16
相关文章
  • 树莓派4B安装Windows10桌面版
  • 在树莓派上使用RaspAP开启热点
  • 树莓派3B Windows 10桌面版安装GPU驱动
  • 树莓派3B安装Windows10桌面版
评论 (0)
再想想
    沙发抢一发
chainsx
网站编辑
嗷?
23文章
16评论
155获赞
每日快讯
树莓派俱乐部今天备案成功搬回国内
1年前
更多
文章聚合
如何构建树莓派64位系统(1)构建根目录
1年前
树莓派4B安装Windows10桌面版
2月前
在windows上运行osmc和最新raspbian
1年前
如何在树莓派安装Docker
2年前
树莓派 Ubuntu 18.04 更换apt 源
2年前
  • 首页
Copyright © 2018-2021 树莓派俱乐部. Designed by nicetheme. 蜀ICP备19024445号-2