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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • process returned -1073741571_0x0000007a电脑蓝屏

    process returned -1073741571_0x0000007a电脑蓝屏前言C++运行报错:Processreturned-1073741819(0xC0000005)是真的坑!!!申请的内存没有释放new后必须deletemalloc后必须free创建内核对象(比如CreateFile,CreateMutex,CreateThread),后必须释放内核对象句柄.创建内存映射文件,CreateFileMapping,MapViewOfFile后必须…

  • 不要再叫他们「爸爸」了,一声「孙子」送给天下甲方!

    哈喽狗子们好 最近网上有个哥们吐槽甲方火了! 他说甲方其实不是「爸爸」 而是「孙子」…… 乍一听甲方可能就不满意了 但你仔细一想就会点头同意了 因为真的有理…

  • 利用按键精灵实现QQ群发和微信群发「建议收藏」

    利用按键精灵实现QQ群发和微信群发「建议收藏」1前言注意:本教程只供学习参考之用,如用于群发广告等影响他人乃至违法犯罪行为等与本文作者无关。另外,转载请注明出处,尊重创作者劳动,谢谢。端午期间需要给微信和QQ的好友发送祝福,但是上千个好友都要发送比较困难,所以想到利用按键精灵撰写脚本的方式实现自动群发祝福。2解释说明&运行环境关于解释说明和程序运行环境请参考我之前的博文的2/3章节:按键精灵实现自动化点qq名片赞3QQ群发3.1几点注意在本demo中群发的是一串文本和一张图片,可以按照需要修改脚本代码。发送图片是通过

  • sqlyog安装包_sqlyog社区版和旗舰版的区别

    sqlyog安装包_sqlyog社区版和旗舰版的区别SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据…

  • python2+selenium爬取笔趣读小说

    python2+selenium爬取笔趣读小说python2+selenium爬取笔趣读小说 #!/usr/bin/envpython#coding=utf-8fromseleniumimportwebdriverimporttimefrombs4importBeaut…

    2022年10月22日
  • python删除文本最后一行_用python删除文件中的最后一行

    python删除文本最后一行_用python删除文件中的最后一行如何用python删除文件的最后一行?输入文件示例:helloworldfoobar输出文件示例:helloworldfoo我创建了以下代码来查找文件中的行数,但是我不知道如何删除特定的行号。我是新来的python–所以如果有一个更简单的方法–请告诉我。try:file=open(“file”)exceptIOError:print”Failedtoreadfile.”cou…

发表回复

您的电子邮箱地址不会被公开。

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