文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构; 即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区

一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统

种类:

1 ext2与ext3是linux专门设计的硬盘文件系统一般称为扩展文件系统。Ext3增加了日志记录功能。

fdisk 分区在终端会显示打印信息   mkfs.ext4 /dev/XXX

sfdisk [options] device 可以直接执行分区

2 swap文件系统

用于linux的交换分区,用来提供虚拟内存,一般为物理内存的2倍。由操作系统自行管理

3  vfat

是linux对DOS,windows系统下的FAT文件系统的一个统称

4  NFS文件系统

即网络文件系统,用于系统间通过网络进行文件共享,

不能建立在flash上,只能建立在硬盘上。

5  ISO 9660文件系统

光盘使用的标准文件系统,

6 jffs2文件系统

JFFS2是一个可读写的、压缩的、日志型文件系统,并提供了崩溃/掉电安全保护,克服了JFFS的一些缺点:使用了基于哈希表的日志节点结构,大大加快了对节点的操作速度;支持数据压缩;提供了“写平衡”支持;支持多种节点类型;提高了对闪存的利用率,降低了内存的消耗。这些特点使JFFS2文件系统成为目前Flash设备上最流行的文件系统格式,它的缺点就是当文件系统已满或接近满时,JFFS2运行会变慢,这主要是因为碎片收集的问题

它是在闪存上使用非常广泛的读/写文件系统

方法一:

mkfs.jffs2 –r rootfs –o rootfs.bin –pad=0x1000000 –e=0x20000 –n

将rootfs制作为jffs2镜像文件并拷贝到/tftpboot烧写

--pad指定最终的jffs2镜像被填充的大小,若不用该选项制作的可能不是页对其的  -e 指定擦除的大小,

jffs2文件系统烧写

#tftp 30008000 filesys.jffs2

#nand erase 200000 800000 (根文件系统所在的分区,kernel启动的时候有显示)

#nand write 30008000 200000 800000   (nand write 下载的地址 偏移地址 大小)

方法二:

mount –t jffs2 /dev/mtdblock1 /mnt;  将块设备直接挂在成jffs2格式

tar zxvf rootfs.ta.gz  -C  /mnt

umount /dev/mtdblock1

7、ubifs文件系统

无排序区块图像文件系统,是用于固态硬盘存储设备上,UBIFS 支持 write-back, 其写入的数据会被cache, 直到有必要写入时才写到flash, 大大地降低分散小区块数量并提高I/O效率

mkfs.ubifs –m 2048 –c 2048 –e 126976 –r rootfs –o rootfs.bin

将rootfs制作成ubifs镜像文件rootfs.bin并拷贝到/tftpboot下下载烧写

-r 要制作的镜像的根文件系统的路径

-m 最小的I/O操作的大小

-e 擦除块的大小

-p 物理擦除块的大小

-c 最大逻辑擦除块的数量

-o 最终制作成的根文件镜像的文件名

8、yaffs文件系统

YAFFS/YAFFS2是一种和JFFSx类似的闪存文件系统,它是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。和JFFS2相比它减少了一些功能,所以速度更快,而且对内存的占用比较小。此外,YAFFS自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。YAFFS2支持大页面的NAND设备,并且对大页面的NAND设备做了优化。JFFS2在NAND闪存上表现并不稳定,更适合于NOR闪存,所以相对大容量的NAND闪存,YAFFS是更好的选择

专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备,以固定大小的数据块进行存储的,块的大小可以是512字节、1 024字节或者2 048字节  制作yaffs文件系统

mkyaffs2image  rootf  rootf_yaffs.bin

烧写到yaffs2根文件系统到NandFlash这种方法是不可行的

要用用mount成yaffs格式,在解压到该目录下。

1)启动U-boot,修改启动参数

setenv bootargs noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rw console=ttySAC0,115200 init=/linuxrc mem=64M

2)setenv bootcmd nand read.jffs2 32000000 100000 0x350000 && bootm 0x32000000

文件系统的烧写

文件系统的烧写,可以通过与内核相似的方法使用串口烧写,也可以通过挂载nfs使用mtd_debug 工具烧写,由于文件系统较大,使用第一种方式会慢一些。

串口烧写使用到的命令

loady

nand erase 0x600000 0x3a00000(目前的分区情况)

nand write 0x30001000 0x600000 0x800000(实际大小)

使用nfs烧写用到的命令

mtd_debug erase /dev/mtd2 0 0x3a00000

mtd_debug write /dev/mtd2 0 0x800000 ubi.img

Linux文件系统类型相关推荐

  1. Linux 文件系统类型 文件系统结构 与Windows文件系统的比较

    Linux 文件系统类型 磁盘文件系统. 包括硬盘.CD-ROM.DVD.USB存储器.磁盘阵列等.常见文件系统格式有:autofs.coda.Ext(Extended File sytem,扩展文件 ...

  2. 如何查看linux文件系统类型?

    以往使用的linux命令,一定要善于总结. 如何查看linux文件系统类型? 1. df 命令报告文件系统磁盘空间利用率,使用-T选项显示特定的磁盘分区的文件系统类型,-h人类可读方式显示. [roo ...

  3. linux 文件系统---类型、创建、

    Linux 文件系统 -- 简述几种文件类型 文件的权限: 以普通文件为例,使用 ls -l 命令,可以看到结果的第一列是 -rwxrwxrwx 的形式,其中第一个字符 "-" 表 ...

  4. linux改文件系统类型,linux文件系统类型及mount

    1. 查看系统所支持的文件系统的方法 1.1 通过命令查看 mount df fdisk file parted fstab 1.2 通过系统文件查看 cat /proc/filesystems ls ...

  5. 导览Linux 文件系统类型

    Linux 文件系统多年来在不断发展,让我们来看一下文件系统类型. 虽然对于普通用户来说可能并不明显,但在过去十年左右的时间里,Linux 文件系统已经发生了显著的变化,这使它们能够更好对抗损坏和性能 ...

  6. linux系统可支持多种文件系统类型,Linux文件系统类型简介及支持的文件系统汇总--Linux入门到精通系列...

    不同的操作系统需要使用不同类型的文件系统,为了与其他操作系统兼容,以相互交换数据,通常操作系统都能支持多种类型的文件系统,比如Windows 2000 Server,系统默认或推荐采用的文件系统是NT ...

  7. Linux文件系统类型介绍

    Linux 把设备都当作文件一样来进行操作,这样就大大方便了用户的使用(在后面的 Linux 编程中可以更为明显地看出).在 Linux 下与设备相关的文件一般都在/dev 目录下,它包括两种,一种是 ...

  8. 嵌入式linux文件系统类型,嵌入式Linux 的Cramfs 根文件系统配置的解决方案

    当系统启动并执行到系统初始化脚本/etc/init.d/rcS 时,mount 命令将/mnt/yaffs 目录挂载 为ramfs 类型的随机存储文件系统,并在此文件系统上建立Qtopia 和Qtop ...

  9. Linux 中 7 个判断文件系统类型的方法

    文件通过文件系统在磁盘及分区上命名.存储.检索以及更新,文件系统是在磁盘上组织文件的方式. 文件系统分为两个部分:用户数据和元数据(文件名.创建时间.修改时间.大小以及目录层次结构中的位置等). 在本 ...

最新文章

  1. jar 工程我怎么在网页上url访问某一个方法_url及url参数与seo网站优化的关系
  2. python 中参数 ,解包和变量的入门
  3. MYSQL学习01--MySQL基础知识
  4. 【数据结构与算法】之深入解析“柱状图中最大的矩形”的求解思路与算法示例
  5. netbeans6.8_NetBeans IDE 8.0和Java 8的新功能
  6. Shell文件读取方法集锦
  7. Python基础(2):控制结构
  8. 【POJ2406】Power Strings(KMP)
  9. Java中List for循环的几种写法种写法总结(推荐)
  10. ajax请求几个状态,ajax的请求步骤!每个状态值表示什么?
  11. C#语言与三菱PLC串口通讯
  12. 【SQL】小CASE
  13. Vscode,Open a folder or workspace…(File -> Open Folder)解决方案
  14. 数据结构基础 之 递归算法实例讲解
  15. 论基础理论知识的重要性
  16. 日本福岛核电站事故分析报告
  17. 关于短网址短链接生成的算法问题
  18. 速度最快的数据库---MEMSQL的安装与部署
  19. Godfather POJ - 3107 (求树的重心)
  20. 白鸦谈“以用户为中心的设计”

热门文章

  1. 云服务器与虚拟主机有什么区别,我们应该如何选择?
  2. 蓝牙耳机打电话有回音怎么办?通话质量很好的蓝牙耳机推荐
  3. sequelize多条件_Sequelize 和 MySQL 对照
  4. sequelize 安装
  5. 真是经典中的经典!Android面试你必须要知道的那些知识,震撼来袭免费下载!
  6. 从月薪3千到3万,需要努力多久?
  7. 【树莓派】树莓派TXD、RXD的配置与使用可实现与STM32的通信
  8. Web入门----css中伪类
  9. OpenCV VideoCapture 设置和获取摄像头参数
  10. 【论文分享】图嵌入恶意域名检测算法:Malicious Domain Detection via Domain Relationship and Graph Models