Linux文件系统类型[通俗易懂]

文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构; 即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统 种类:1 ext2与ext3是linux专门设计的硬盘文件系统一般称为扩展文件系统。Ext3增加了日志记录功能。fdisk 分区在终端会显示打印信息   mkfs.ext4 /de…

大家好,又见面了,我是你们的朋友全栈君。

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

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

 

种类

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中的MTDVFS,直接对文件系统操作。YAFFS2支持大页面的NAND设备,并且对大页面的NAND设备做了优化。JFFS2NAND闪存上表现并不稳定,更适合于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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126007.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • J1939 入门教程

    J1939 入门教程SAEJ1939协议是基于CAN2.0B协议之上的应用层协议,但是SAEJ1939协议并不仅仅是个应用层协议,她对物理层,数据链路层,网络层,应用层,故障诊断,网络层管理层等都做了详细的规定,只不过这其中很多规定都跟CAN2.0B一致。我们这里只介绍J1939的应用层,对软件开发来说已经足够。对熟悉CAN2.0B协议的小伙伴来说,其实只要掌握下面几个关键点,J1939就瞬间不再神秘。J…

    2022年5月1日
    87
  • idea永2021.2激活码破解方法

    idea永2021.2激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    45
  • pagecontext request session_pagecontent

    pagecontext request session_pagecontent ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> 。 也就是取出部署的应用程序名或者是当前的项目名称 比如我的项目名称是demo1在浏览器中输入为http://localhost:8080/demo1/a.jsp${pageContext.request.co…

    2022年9月17日
    0
  • Asp.net 视频摘要

    Asp.net 视频摘要

    2022年1月15日
    48
  • jquery操作select(取值,设置选中)

    jquery操作select(取值,设置选中)

    2022年2月11日
    38
  • 手摸手教你写一个vue的toast弹窗[通俗易懂]

    手摸手教你写一个vue的toast弹窗[通俗易懂]前言:我们在项目开发的过程中,也许会在很多页面实现弹窗的消息,普通的方法就是在这每个界面写些原生js代码来控制弹窗效果,这样明显非常冗余。可通过引入组件的方式,可解决部分冗余的代码,但是每个要使用的界面都必须导入、注册、使用,这些代码还是比较冗余。通过插件的方式封装Toast,可解决每个页面重复导入、注册、使用的重复过程。一.封装Toast组件css自行设计二.Toast插件方式的封装在使用Toast前需要做相应的准备工作:添加一个index.js文件-里面定义一个对象-然后导

    2022年9月25日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号