- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* Linux 文件系统 文件系统是指操作系统中于管理文件有关的软件和数据。 Linux的文件系统和Windows中的文件系统是有很大的区别的 Windows文件系统是以驱动器的盘符为基础的,而且每一个目录是与相应的分区对应,例如“C:\Projects”是指此文件在C盘这个分区下。 而Linux恰好相反,文件系统是一个文件树,且它的所有文件和外部设备(如硬盘,光驱等)都是以文件的形式挂结在这个文件树上,例如“\dev\floppy”。对于Windows而言,就是指所有分区都是在一些目录下。 总之,在Windows下,目录结构属于分区;Linux下,分区属于目录结构。 * 嵌入式文件系统 嵌入式Linux也支持多种文件系统。虽然在嵌入式中,由于资源受限的原因,它的文件系统和PC机Linux的文件系统有较大的区别,但是,它们的总体架构是一样的,都是采用目录树的结构。在嵌入式中常见的文件系统有cramfs、romfs、jffs、yaffs等 。 cramfs文件系统是一种经过压缩的、极为简单的只读文件系统,因此非常适合嵌入式系统。 * 嵌入式Linux文件系统的层次图 应用程序 逻辑文件系统 CRAMFS 用户层 内核层 设备 目录 系统调用 虚拟文件系统(VFS) YAFFS VFAT JFFS2 RAMFS . . . 设备驱动层 MTD设备驱动 物理存储设备 NOR flash NAND flash RAM SQUASHFS SYSFS NFS 文件 * 什么是根文件系统 根文件系统(Root File System)首先是一种文件系统,可对应根目录”/”所对应的文件系统。 相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统。 系统引导启动程序会在根文件系统挂载之后,从中把一些基本的初始化脚本和服务等加载到内存中去运行 。 * 嵌入式系统需要构建根文件系统 桌面Linux系统的根文件系统直接由Linux安装盘在安装过程中构建。 嵌入式系统无法象普通桌面系统一样,通过光盘等进行安装。 嵌入式系统需要事先构建根文件系统,然后直接烧写到FLASH上。 嵌入式根文件系统需要认真仔细的选择和配置 所需要的系统库、内核模块和应用程序 各种初始化脚本文件 合适的FLASH文件系统类型 * Linux根文件系统的目录结构 /bin 存放二进制可执行命令的目录 /dev 存放设备文件的目录 /etc 存放系统管理和配置文件的目录 /home 用户主目录,比如用户user的主目录就是/home/user,可以用~user表示 /lib 存放动态链接共享库的目录 /sbin存放系统管理员使用的管理程序的目录 /tmp 公用的临时文件存储点 /root 系统管理员的主目录 /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。 /proc 虚拟文件系统,可直接访问这个目录来获取系统信息。 /var 某些大文件的溢出区 /usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录 以上目录并非都是必须的,开发者可自行定制 Linux根文件系统以树形结构组织,包含内核和系统管理所需要的各种文件和程序,根目录“/”下的顶层目录都有一些比较固定的命名和用途。 * 创建根文件系统的主要思路 构建根文件系统的框架 为根文件系统安装必要的动态库 为文件系统复制内核模块 设备文件,可能需要移植驱动 移植主要的系统应用程序 根文件系统是一步一步搭建起来的 * 嵌入式文件系统的构建 使用busybox构建文件根文件系统的步骤 (1)首先从busybox网站下载busybox源码(本实例采用的busybox-1.0.0)并解压,接下来,根据实际需要进行busybox的配置。 (2)编译并安装busybox (3)通过创建系统所需要的目录和文件来完善一下文件系统的内容。 (4)需要创建一些重要文件。 (5)创建cramfs文件系统映像文件。 * * CRAMFS CRAMFS最初是Linus Torvalds 编写的一个文件系统,具有简单、压缩和只读等特点,是用于保存只读的根文件系统内容的一个很好的方案 CRAMFS 主要的优点:是将文件数据以压缩形式存储,在需要运行的时候进行解压缩, 可以节约很多Flash 存储空间 由于它存储的文件形式是压缩的格式,所以文件系统不能直接在 Flash 上运行。文件系统运行需要将数据拷贝进RAM 中,对RAM需求比较大。 * 工具mkcramfs可用来制作镜像? 比如#mkcramfs /rootfs? ~/rootfs.cramfs 可通过mount命令解开cramfs包 mount ~/rootfs
原创力文档


文档评论(0)