UBOOT介绍

一、UBOOT简介

U-boot全称 Universal Boot Loader,是遵循GPL条款的开放源码项目,uboot 是一个裸机代码,可以看作是一个裸机综合例程,执行启动内核的功能。

补充:GPL条款(GNU General Public License,GNU通用公共许可证)是一种自由软件许可证,而GNU代表"GNU's Not Unix",是开源的操作系统项目,大多数GNU系统使用开源的Linux内核,GPL条款保证了开源内核的自由性,使用GPL条款后,

  1. 源代码公开:在分发软件时必须提供源代码,或者提供方便获取源代码的方式。

  2. 修改后仍使用GPL:对软件进行修改后,必须使用相同的GPL许可证分发。

  3. 保留版权和许可证:必须在分发软件时保留原始版权声明和GPL许可证条款。

由上可知,UBOOT是通用的引导程序,对系统架构没有要求,因为适用,所以流行。

二、UBOOT源码结构

三、Uboot支持多种启动方式

项目中知道的有 SPI Flash/eMMC/Nvme/SD/Hard Disk/U-Disk/net,要用到的内核映像在哪,就是决定怎么启动。

四、UBOOT启动流程

uBoot 启动过程一般包括以下几个主要步骤:

  1. 硬件初始化:uBoot 首先会执行一系列的硬件初始化操作,包括对处理器、内存、外设等硬件组件进行初始化配置,以便系统能够正常运行。

  2. 加载引导程序:uBoot 会从存储介质(如闪存、SD 卡、网络等)中加载引导程序。这个引导程序通常是一个二进制文件,负责进一步引导系统。

  3. 设置启动参数:uBoot 会设置操作系统启动所需的参数,如内核镜像地址、启动参数、根文件系统的位置等。这些参数通常通过环境变量进行配置。

  4. 加载内核镜像:uBoot 会从指定位置加载 Linux 内核镜像到内存中。内核镜像是 Linux 操作系统的核心组件,它包含了操作系统的核心功能和驱动程序。

  5. 启动内核:一旦内核镜像被加载到内存中,uBoot 会将控制权转交给内核,让内核开始执行。此时,操作系统开始初始化并运行。

  6. 启动根文件系统:内核启动后,它会挂载根文件系统,根据 uBoot 配置的参数找到根文件系统所在的位置,并加载进内存。根文件系统包含了操作系统的文件和目录结构,是操作系统的基础。

参考链接:全网最全面最易懂的U-Boot解读_uboot-CSDN博客

相关推荐
小安运维日记15 分钟前
Linux云计算 |【第四阶段】NOSQL-DAY1
linux·运维·redis·sql·云计算·nosql
CoolTiger、3 小时前
【Vmware16安装教程】
linux·虚拟机·vmware16
学习3人组4 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
厨 神5 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
Karoku0665 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
geek_Chen015 小时前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
(⊙o⊙)~哦5 小时前
linux 解压缩
linux·运维·服务器
牧小七6 小时前
Linux命令---查看端口是否被占用
linux
鸡鸭扣7 小时前
虚拟机:3、(待更)WSL2安装Ubuntu系统+实现GPU直通
linux·运维·ubuntu
友友马8 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http