标签:使用 app 实现 表示 read home 地址 删除 根文件系统
ROOTFS简介
ROOTFS(根文件系统)是一种特殊的文件系统,根文件系统是内核启动时挂载的第一个文件系统,因此根文件系统包括了SylixOS启动时所必须的目录和关键性的文件,例如内核启动时所必需的etc目录,以及系统命令bin目录等,任何包括这些SylixOS启动所必须的文件都可以成为根文件系统。
SylixOS的ROOTFS属于虚拟类型的根文件系统,因为此文件系统并不存在于具体的物理磁盘中,而是系统启动后动态创建的,并将此系统保存于内存中。
根目录文件系统映射配置参数
系统内核启动参数函数API_KernelStartParam中提供根文件系统映射关系选项rfsmap,参数用逗号隔开,其中"/boot"、"/etc"、"/tmp"、"/apps"等为可选映射,"/"为必须映射。
例如"/boot:/media/hdd0"表示将"/boot"目录映射到"/media/hdd0";"/apps:/media/hdd2"表示将"/apps"目录映射到"/media/hdd2";"/:/media/hdd1"表示将根目录整体映射到"/media/hdd1";"/:/dev/ram"表示将根目录整体映射到ramfs中。注意"/dev/ram"类型只能使用在"/:"映射中。
根据根文件系统映射关系选项rfsmap传入的配置参数,调用API_RootFsMapInit函数进行初始化操作,保存配置参数到全局变量_G_rfsmapRoot和_G_rfsmapSubp中。
ROOTFS驱动实现分析
SylixOS中ROOTFS相关API接口代码位于/libsylixos/SylixOS/fs/rootfs目录下。
3.1 rootFsDrv函数安装驱动
宏rootFsDrv所定义的函数API_RootFsDrvInstall实现安装ROOTFS文件系统驱动。此函数创建字符设备驱动,提供创建、释放、打开、关闭、读、写、状态获取、ioctl、符号链接等函数接口。
3.2 rootFsDevCreate函数创建设备
宏rootFsDevCreate所定义的函数API_RootFsDevCreate实现创建ROOTFS文件系统设备。ROOTFS文件系统设备挂载目录地址为根目录"/"。
根设备创建完成之后,SylixOS内核会创建"/dev"、"/dev/pty"、"/dev/pipe"、"/dev/input"、"/dev/blk"、"/mnt"、"/media"等目录。
标签:使用 app 实现 表示 read home 地址 删除 根文件系统
原文地址:http://blog.51cto.com/12833848/2164707