一、启动概述
在产品代码成功编译通过后,开始进行下一步的运行调测阶段,而运行调测第一步便需要了解系统的启动过程。对于 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 文件系统挂载的磁盘,即 ramdisk.img 是 ramdisk 文件系统的打包镜像。
可以对比 rootfs,我们通过 busybox 制作出来的是 rootfs 文件系统,但是实际启动使用的时候我们时我们需要将 rootfs 文件系统打包制作成 root

最低0.47元/天 解锁文章
1824

被折叠的 条评论
为什么被折叠?



