嵌入式Linux OS启动流程

嵌入式Linux从硬件上电开始,经历一级启动的bootROM,再到二级启动的SPL和uboot,加载Linux Kernel,初始化系统并启动不同OS。Linux OS启动包括硬件初始化、GRUB引导、内核引导、系统初始化和启动终端。理解启动流程有助于系统级问题排查和优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嵌入式Linux OS启动流程

一、硬件上电

二、一级启动:bootROM

Boot ROM是厂商都无法进行更改,固化在芯片内部的ROM;

作用:
确定用于启动的设备;
从启动的设备的位置搬移一小段代码(4k/8k/16k)到RAM中运行,即SPL;

三、二级启动:SPL+uboot

1.SPL: Secondary Program Loader:

作用:
初始化DDR;
从启动的设备搬移第二段代码到RAM中,加载uboot;
(有些SoC是将bootloader复制到RAM后,再进行DDR初始化;)

2.uboot: Universal boot loader:

U-Boot从启动设备上面读取、分析环境变量获得kernel和rootfs存储位置,以及所需的kernel command line;
自动检测系统RAM和eMMC/Nand Flash容量和参数;
设置以太网口MAC地址,并配置好硬件准备加载Linux kernel;
加载Linux kernel到RAM,至此系统控制权则转移到kernel来处理;

四、Linux Kerne

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值