文档详情

实验九-根文件系统构建实验20161107.docx

发布:2018-10-14约1万字共13页下载文档
文本预览下载声明
实验九 根文件系统构建实验 实验目的 了解嵌入式操作系统中文件系统的类型和作用。 了解yaffs2文件系统的优点及其在嵌入式系统中的作用。 掌握利用BusyBox 软件制作嵌入式文件系统的方法。 掌握嵌入式Linux 文件系统的的挂载过程。 实验工具 操作系统:ubantu10 交叉编译工具: 文件系统制作工具:busybox-1.17.2tgz 文件系统镜像制作工具:mkyaffs2image-128M 实验要求 利用BusyBox 构建简单的根文件系统,并将其制作成为yaffs 格式的文件系统镜像,并 下载到A8实验板,要求如下: kernel能够成功挂载根文件系统, 通过串口终端查看所建立的根目录, 在自己建立的根文件系统中运行简单的“hello world”程序。 实验讲解 文件系统是操作系统中组织、存储和命名文件的一种基本结构,是操作系统中统一管理信息资源的一种方式,可以管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,方便用户使用。它的存储媒质包括磁盘、光盘、FLASH等,FAT(文件分配表)是最常用的一种文件系统格式,主要优点是可以允许多种操作系统访问。 Linux的一个最重要特点就是它能同时支持多种文件系统。在加载根文件系统之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在多个不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移,Linux支持的文件系统数还会增加。 每台机器都有根文件系统,它包含系统引导和使其他文件系统得以mount(挂载)所必要的文件,根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。 根文件系统或者可以认为是一组特定的目录结构,不同的目录里面存放了不同名称,不同用途的文件,方便系统及用户应用程序查找及调用。 根文件系统中各顶层目录,均有其特殊的用法和目的。下表提供了Linux根文件系统各顶层目录的完整清单。 表9-1 linux根目录介绍 目录 内容 bin 必要的用户命令(二进制文件) boot 引导加载程序所使用的静态文件 dev 设备文件和其他特殊文件 etc 系统配置文件,包括启动文件 home ? 用户主目录 lib ? 必要的程序库(例如 C 程序库)以及内核模块 media ? 挂载点,用于可移除媒体 mnt ? 挂载点,用于临时挂载的文件系统 opt ? 附加的软件套件 proc ? 用于提供内核与进程信息的虚拟文件系统 root ? root 用户的主目录 sbin ? 必要的系统管理员命令(二进制文件) sys ? 系统信息与控制(总线、设备以及驱动程序)的虚拟文件系统 tmp ? 临时文件 usr ? 在第二层包含了对大多数用户有用的大量应用程序和文件,包括X服务器 var ? 用于存放服务程序和工具程序的可变资料 Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。 不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的场合。在嵌入式Linux应用中,主要的存储设备为RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括jffs2,?yaffs,?cramfs,?romfs,?ramdisk,?ramfs/tmpfs等。 基于FLASH的文件系统? flash(闪存)作为嵌入式系统的主要存储媒介,有其自身的特性。Flash的写入操作只能把对应位置的1修改为0,而不能把0修改为1(擦除Flash就是把对应存储块的内容恢复为1),因此,一般情况下,向Flash写入内容时,需要先擦除对应的存储区间,这种擦除是以块(block)为单位进行的。 闪存主要有NOR和NAND两种技术(简单比较见附录)。Flash存储器的擦写次数是有限的,NAND闪存还有特殊的硬件接口和读写时序。因此,必须针对Flash的硬件特性设计符合应用要求的文件系统;传统的文件系统如ext2等,用作Flash的文件系统会有诸多弊端。 在嵌入式Linux下,MTD(Memory?Technology?Device,存储技术设备)为底层硬件(闪存)和上层(文件系统)之间提供一个统一的抽象接口,即Flash的文件系统都是基于MTD驱动层的(参见上面的Linux下的文件系统结
显示全部
相似文档