总结UBIFS根文件系统制作.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:19108035856(电话支持时间:9:00-19:00)。
创建文件系统和挂载文件系统流程 添加一个新的分区 通过分区工具添加分区 ==> 创建分区的文件系统 ==> 挂载文件系统 通过df -lh查看是否被挂载: ex: >> df -lh Filesystem Size Used Avail Use% Mounted on /dev/sda7 21G 7.3G 12G 39% / /dev/sda10 98G 75G 18G 82% /home /dev/sda8 180M 109M 58M 66% /boot 关于rootfs /dev/MKDEV.sh /dev/MKDEV.sh to generate related device files in /dev automatically. MKDEV.SH ==> #!/bin/bash #!/bin/bash if [ `whoami` = “root” ]; then sudo= else sudo=sudo fi $sudo mknod mtdblock0 b 31 0 $sudo mknod mtdblock1 b 31 1 $sudo mknod mtdblock2 b 31 2 $sudo mknod mtdblock3 b 31 3 $sudo mknod mtdblock4 b 31 4 $sudo mknod mtdblock5 b 31 5 $sudo mknod mtdblock0 b 31 6 Device files in /dev are created by MKDEV.sh in /dev directory: sudo ./MKDEV.sh UBIFS 文件系统简介 传统的flash文件系统如jffs2, yaffs2等是工作在MTD 设备上,而UBIFS则建立在UBI卷层之上,UBI卷层工作在MTD设备层之上,也可以说,UBIFS涉及三个子系统: MTD 子系统,提供对flash芯片Raw的访问接口。MTD子系统提供了MTD device的概念,比如/dev/mtdX(字符设备)和/dev/mtdblockX(块设备); UBI Subsystem, 它工作在MTD设备之上,提供了UBI逻辑卷,对上层屏蔽了一些直接使用MTD设备需要处理的问题,如wear-leveling(磨损平衡)和volume management(坏块管理)功能等; UBIFS 文件系统,工作于UBI之上。它提供文件的open, read, write等操作; 根文件系统镜像文件制作 mkfs.ubifs 参数说明 -x lzo 指定使用lzo压缩方法,默认是lzo, 还支持zlib, zlib的压缩率高,但是lzo压缩解压速度快。 -m 2048 Nand Flash的最小读写单元,一般为page size. -r ./rootfs 指定根文件系统目录树的路径 -o rootfs.ubifs 指定制作出的根文件系统镜像文件名 -e 126976 指定LEB(Logical Erase Block, 逻辑擦除块)大小。Nandflash 读写单位为页,擦除单位为块,以ESMT F59L1G81MB 为例:一个PEB(Physical EraseBlockSize, 物理擦除块)大小就是2048*64=131072,-e 的算法是物理擦除块大小-2*页大小,这里就是131072-2*2048=126976(注:这里的擦除块大小都不包含oob, 有包含子页和不包含子页之分。) -c xxx 指定该分区最大逻辑擦除块数量,该值随着根文件系统分区的大小和该分区的坏块数调整。 ubinize 参数说明 -o rootfs-ubifs.bin 指定ubinize处理后输出的image文件名,该文件可以由u-boot的nand write命令直接烧录; -m 2048 指定minimum input/output unit 大小,为Nandflash的页大小; -p 131072 指定物理擦除块大小:64 Pages * 2048 Byte/Page = 131072(不包含oob的大小) -s 512/2048 指定subszie大小,如果有sub, 则配置为512;如果没有sub,则配置为2048 关于配置文件说明: image=rootfs-ubifs.img 指定mkfs.ubifs 制作成的根文件系统镜像文件路径; vol_id=0 指定根文件系统树的卷标为0,u-boot的bootargs参数需要根据它来设置; vol_size=xxx 指定该UBI逻辑卷的大小,该值计算公式一般为 逻辑擦除块大小*逻辑擦除块个数。该值一般不用写,默认值是image大小。写了这个作用是帮助检查image是否超过了分区限制,制作时候就会提

您可能关注的文档

文档评论(0)

130****1572 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体陈**

相关文档

相关课程推荐