9th.U-boot——初识Bootloader

  Bootloader简介:

    一个系统要运行之前,需要一段初始化程序,简单理解,这段程序就称之为BootLoader。

    一个Linux系统从软件角度,会分为四个层次。

    • 引导加载程序:即BootLoader。
    • Linux内核:一些启动参数,一般是默认或由BootLoader传递给它。
    • 文件系统
    • 用户应用程序

  

    Bootloader启动过程可以分为单阶段,或多阶段。大多数Bootloader都是两阶段的启动过程。

    第一阶段使用汇编实现,完成一些依赖于CPU体系结构的初始化,并调用第二阶段代码。第二阶段用C语言实现,一般为一些较为复杂的功能。

    第一阶段:

    • 硬件设备初始化
    • 为加载BootLoader第二阶段代码准备RAM空间
    • 复制BootLoader第二阶段代码到Ram中
    • 设置栈
    • 跳转到第二阶段入口

    第二阶段:

    • 初始化本阶段的硬件设备
    • 检测系统内存映射
    • 将内核映像和根文件系统映像从Flash上读到Ram空间中
    • 为内核设置启动参数
    • 调用内核   

    U-boot是Bootloader其中一种,见下文。

     

    

原文地址:https://www.cnblogs.com/asam/p/6393541.html