一、启动概述
在产品代码成功编译通过后,开始进行下一步的运行调测阶段,而运行调测第一步便需要了解系统的启动过程。对于 OpenHarmony 来说,系统启动流程如下:
—> uboot启动
—> uboot启动内核
—> 内核挂载根文件系统(此时为ramdisk文件系统)
—> 运行ramdisk中的第一个程序
—> 根据fstab中内容挂载文件系统
—> 切换root路径为/usr
—> 第一个程序为init则进行系统初始化
—> 第一个程序为init_early则通过execv启动init
关于 uboot 启动到内核挂载根文件系统部分属于 Linux 内容,这里不做介绍,以下我们开始来介绍从 ramdisk 启动的第一个程序,我们以 init_early 模式为例开启我们新的篇章
二、ramdisk 文件系统介绍
2.1 什么是 ramdisk 文件系统
ramdisk 是一种将内存中的的一块区域作为物理磁盘来使用的一种技术,也可以说,ramdisk 是在一块内存区 域中创建的块设备,用于存放文件系统。对于用户来说,可以把 ramdisk 与通常的硬盘分区同等对待来使用。ramdisk 不适合作为长期保存文件的介质,掉电后 ramdisk 的内容会消失。
2.2 ramdisk 文件系统和 ramdisk.img 有什么关系
在 Linux 中,根文件系统是需要挂载到实际的物理磁盘中的,而 ramdisk.img 便是 ramdisk 文件系统