分类: 嵌入式
2016-11-02 17:14:14
嵌入式Linux 启动 |
|
步骤 |
说明 |
step1 |
单板上电,先起动存放在ROM中的RBL(Rom Boot Loader)程序。也叫the primary boot loader(一级boot)。 |
step2 |
RBL复位ARM,从NANDFLASH的UBL起始地址加载UBL程序到OMAPL138的片内存储器,并运行UBL(User Boot Loader)程序。也叫the secondary boot loader(二级boot) |
step3 |
UBL首先做一些初始化工作,然后从NANDFLASH读取UBoot程序到板上存储器,跳转到UBoot入口执行UBoot。 |
step4 |
UBoot从NANDFLASH读入启动参数,然后读入Linux内核uImage到存储器,解压缩并运行。(uboot参数指定从哪儿读入,如从nandflash的某物理地址读入) |
step5 |
Linux内核启动后,重新初始化OMAPL138,接着加载文件系统,执行文件系统中的程序并启动控制台。 (uboot参数指定从哪儿读入,如从nandflash的某个逻辑分区读入或从nfs读入) |
这里涉及几个基本的概念
分区:分区(即规定那个地址区间存放内核或文件系统)是内核干的事;uboot没有分区的概念,烧写时uboot只是将内核或文件系统,下载到某个分区的地址开始处;启动时uboot也只是从内核所在分区的物理地址处加载内核,之后由内核将根文件系统所在分区mount到根目录/。所以,uboot对flash进行操作时,哪块区域放什么是以内核为主。