i.MX6ULL 板子的完整启动流程图(从上电 → 用户空间)

【阶段1】上电

【阶段2】Boot ROM(芯片内部固化代码)

👉 根据 BOOT 引脚 / eFuse ,(拨码开关)

决定启动设备(SD / eMMC)

【阶段3】加载 U-Boot

👉 从选定设备读取:

SD → mmc0

eMMC → mmc1

【阶段4】U-Boot 运行

👉 执行 bootcmd:

  • 加载 kernel(zImage)

  • 加载设备树(dtb)

  • 设置 bootargs

【阶段5】启动 Linux 内核

👉 内核解析 bootargs:

root=/dev/xxx

【阶段6】挂载 rootfs

👉 可能来自:

  • SD(mmcblk0)

  • eMMC(mmcblk1)

  • NFS

【阶段7】启动用户空间(/sbin/init)

Boot ROM → " 启动设备 " (加载 U-Boot

U-Boot → "kernel 来源 "

Linux → "rootfs 位置 "

相关推荐
yunwei373 小时前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化
朽棘不雕4 小时前
关于重定向的小补充
linux
T1mzhou4 小时前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
GG-_-Bond4 小时前
基于dpdk实现udp接收数据
linux·网络·udp
吴声子夜歌5 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落5 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud1235 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
星间都市山脉5 小时前
Android16 SystemService.onBootPhase 调用时机
android·java·linux·windows·ubuntu
Zwawa5 小时前
重新认识结构体:为什么 STM32 库函数喜欢接收一大包参数
嵌入式
初願致夕霞5 小时前
Linux 进程间通信(IPC)机制详解:管道、FIFO 与 System V 共享内存
linux·服务器·c++