i.MX6ULL嵌入式Linux系统移植学习笔记

发布时间:2026/10/8 22:30:11
i.MX6ULL嵌入式Linux系统移植学习笔记
一、基础概念系统移植简单理解就是让开发板可以运行Linux操作系统。驱动Linux内核和硬件设备之间适配代码属于内核级编程实现内核控制外设硬件。为什么开发板要运行LinuxLinux提供哪些核心能力内存管理进程管理多任务调度网络协议栈文件系统数据存储、人机交互IPC进程间通信二、系统移植4个核心文件文件名称作用说明u‑boot.imxU‑BootBootloader引导加载程序上电初始化硬件引导Linux内核启动为内核加载做准备zImageLinux内核镜像Linux内核本体负责处理器、内存、进程、硬件、网络管理imx6ull‑alientek‑emmc.dtb设备树文件内核3.0版本之后独立出来描述板子硬件资源寄存器、引脚、外设3.0之前硬件信息直接编译进zImagerootfs.tar.bz2根文件系统压缩包存放库文件、配置、用户程序提供用户交互环境系统完整启动顺序U‑Boot → 加载zImage内核 dtb设备树 → 挂载rootfs根文件系统三、开发板启动方式拨码开关选择启动方式使用场景USB启动芯片级调试SD卡启动裸机开发、软件开发调试阶段EMMC启动产品量产使用Nand flash启动本开发板不使用四、SD卡存储器分区布局根据烧写脚本imx6mksdboot.shSD卡数据分布如下0扇区0字节MBR分区表占用512字节保存分区定义保留区域1KB ~ 1MB存放u‑boot.imx占用300KB‑800KB分区1FAT32容量64MB挂载为/boot存放文件zImage、设备树.dtb文件分区2EXT3占用SD卡剩余全部空间挂载为根目录 /存放根文件系统解压内容bin/ etc/ lib/ usr/驱动模块路径lib/modules/五、系统移植定义将U‑Boot、zImage内核镜像、rootfs根文件系统烧写到开发板存储介质的整个过程叫做系统移植。U‑Boot开源引导加载程序完成硬件初始化、镜像加载、给内核传递启动参数。zImageLinux内核镜像管理处理器、内存、进程调度、网络通信、硬件设备。rootfs根文件系统Linux运行基础提供文件管理用户交互。注意imx6ull‑alientek‑emmc.dtb设备树记录硬件资源。Linux3.x以前硬件信息编译在内核镜像3.x之后独立成dtb文件。六、三种常见烧录模式烧录模式操作说明应用场景模式一烧写到SD卡U‑Boot、内核、设备树、根文件系统全部写入SD卡多设备部署、系统刷机恢复模式二烧写到EMMC整套系统烧录进板载EMMC开发结束产品量产模式三开发调试模式U‑Boot烧写到SD卡zImage通过TFTP网络下载rootfs通过NFS挂载开发调试不用反复烧写SD卡