前言

当我们新买的硬盘安装在电脑上后,必须要对硬盘分区和文件系统格式化后才能使操作系统能够在分区内正常读写和保存文件。所谓分区即是将硬盘划分为多个空间范围,我们可以在不同的分区内存放不同的文件以便于管理。而对分区后的硬盘空间格式化则是按文件系统格式划分存储单元,使操作系统可以识别和使用这些空间范围。可以形象地把一个硬盘相当于一个城市,分区则是将城市分为几个区,格式化即是在每个区内指定相应的街道、门牌,这样人们就能快速的找到指定的地点。

嵌入式Linux中广泛使用Flash作为存储介质,Flash具有高可靠性、高存储密度、低价格、非易失、擦写方便等优点。在Flash上也可以运行文件系统,其中针对Flash存储器的特性而设计的jffs2(journaling flash file system version 2)文件系统十分合适。由于Flash中各个块的最大擦除次数有限,jffs2文件系统具有磨损均衡功能,可以均匀地使用各个块,延长Flash的整体寿命。jffs2文件系统还具有对存储空间的碎片收集功能,以提高Flash存储器的利用率。最为重要的是作为日志型文件系统,jff2文件系统能够避免意外掉电而导致数据丢失的情况。

在Linux中为了文件系统更好地访问Flash存储器而设计了mtd(memory technology devices), 提供了对Flash操作的一系列标准接口,这样jffs2文件系统就可建立在mtd中的mtd_block模块之上对FLash进行操作。

一般情况下Linux的基本分区会包括uboot、kernel和rootfs,我们可以通过挂载分区的方式接入更多的分区,本文主要介绍如何在Flash介质上实现分区和jffs2文件系统格式化,并将分区挂载至Linux系统中。

分区与目录树的关系

Linux内所有数据都以文件的形态来呈现,而所有的文件都在目录树结构下。目录树(directory tree)是以根目录为主,向下呈现分支状的一种文件系统目录结构,系统指定了每个目录的作用和其中的文件类型,最上层是根目录(/),/dev、/etc、/mnt等其余所有的目录都为根目录的子节点。主分区挂载到了根目录下,如果没有其他任何分区挂载,根目录下的所有目录都在主分区下,在任何目录下读写操作实际操作的是主分区。

当我们想使用其他分区时,必须将这个分区挂载到一个已经存在的目录下(如/mnt等),或者挂载到自己建立的目录(如/mnt/media),挂载后这个目录成为这个分区的访问入口,而这个目录下以前的内容将不再可用,因此像/lib、/dev、/etc、/usr这类存放系统文件的目录不能进行挂载,否则操作系统将无法找到所需的文件而引起崩溃。

文件系统格式

Linux系统中每个分区都需要有一个文件系统,这些分属不同分区的、单独的文件系统分别挂载到目录树中形成一个系统的目录层次结构。可以使用flash_erase工具以jffs2文件系统对分区进行格式化。

flash_erase工具的使用说明如下。

root@Yuanxiao:/sbin# flash_erase --help

Usage: flash_erase [options] MTD_DEVICE

Erase blocks of the specified MTD device.

Specify a count of 0 to erase to end of device.

-j, --jffs2 format the device for jffs2

-N, --noskipbad don't skip bad blocks

-u, --unlock unlock sectors before erasing

-q, --quiet do not display progress messages

--silent same as --quiet

--help display this help and exit

--version output version information and exit

Flash存储器的分区信息位于dts文件中,cat /proc/mtd命令可查看分区情况。此处对mtd5分区以jffs2文件系统进行格式化,由于mtd5分区的size为0xe80000,擦除大小为0x10000,因此需要232个块操作。分区格式化后可见每个块的前12个字节内容由FF变为文件系统的头部信息。

分区挂载实现

lsblk命令可列出所有可用的块设备的信息,从中可知Flash上分区情况和挂载点。mount命令将mtd5分区的文件系统挂载到指定的/mnt/media目录下,-t选项指明了以jffs2文件系统类型挂载,挂载后mtd5分区和/mnt/media目录关联起来,我们访问/mnt/media目录即访问mtd5分区。

总结

当分区挂载完成后就可正常访问分区,我们可使用df命令查看当前被挂载分区的空间使用情况,包括分区总容量、已用容量、可用容量、挂载点等信息显示,-h 选项以方便阅读方式显示,-T选项会显示文件系统的类型。

嵌入式linux 分区挂载,嵌入式linux系统的开发——文件系统的分区和挂载相关推荐

  1. win7隐藏linux分区工具,传授win7系统用组策略把分区隐藏掉的处理对策

    许多人在使用win7系统电脑的时候,常常会遇到win7系统用组策略把分区隐藏掉的情况,就像早前有客户来本站咨询win7系统用组策略把分区隐藏掉的问题,然则却不清楚应当怎样设置win7系统用组策略把分区 ...

  2. centos7parted分区_CentOS7 运维 - 磁盘管理与文件系统 | 超详细 | 附挂载教程及错误排查 | parted超大磁盘分区教程...

    硬盘结构 硬盘的物理结构 盘头:硬盘有多个盘片,每盘片两面 磁头:每面一个磁头 硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,是硬盘的最小存储单位 磁道:同一盘片不同半径 ...

  3. Linux系统重装时保留重要分区

    对于熟悉Windows操作系统的人,一般都知道在重安装系统时只格式化C分区,而不动其它分区,以便尽可能保留已有的数据,极大地减少数据恢复工作.对于Linux操作系统,完全可实现类似的操作.与使用Win ...

  4. Linux Centos7:11.给系统增加一块硬盘

    11.1 提升篇-硬盘分区基础 1.在Linux中给系统增加一块硬盘的步骤: 2.硬盘分区基础 IDE硬盘.SCSI硬盘.SATA硬盘  主分区: 1-4个  扩展分区:0-1个  逻辑分区:不 ...

  5. linux分区格式8e,linux磁盘分区格式化

    乱世风云剑之磁盘分区格式化 在进行磁盘分区格式化之前,先介绍一些基础常识,虽说是常识,但隔行如隔山,外行人看了,不一定懂.不扯了,步入正题. 磁盘分区格式化是相对于硬盘而言的,硬盘属于随机存储设备,在 ...

  6. linux基础教程之Linux操作系统安装图文配置教程详细版

    这篇文章主要为大家详细介绍了Linux操作系统安装图文配置教程,帮助大家顺利的安装Linux操作系统,感兴趣的小伙伴们可以参考一下 随着嵌入式的发展,Linux的知识是必须的一部分,下面就让我们进行L ...

  7. Linux没有fstab文件,Linux配置文件fstab

    Linux配置文件fstab fstab描述系统中各种文件系统的信息. 在fstab文件中,每个文件系统用一行来描述,在每一行中,用空格或TAB符号来分隔各个字段,文件中以*开头的行是注释信息.fst ...

  8. 计算机管理主分区改成逻辑分区,如何在Win7系统中将主分区更改为逻辑分区?...

    win7论坛中的一个问题: 如何将win7系统中的主分区更改为逻辑分区? 编辑的答案: 看到此问题,编辑器还遇到了类似的问题"如何将win7系统中的主分区更改为逻辑驱动器?" wi ...

  9. sock 文件方式控制宿主机_基于嵌入式Linux系统实现YAFFS2文件系统存储方案的设计...

    随着嵌入式技术的不断发展,嵌入式系统的应用越来越广泛,人们对于嵌入式系统功能的要求也越来越高,相应地其大容量数据存储和管理变得越来越重要.相对硬盘而言,FLASH等非易失性存储器具有体积小.功耗低.成 ...

最新文章

  1. pandas使用isna函数和any函数计算返回dataframe中包含缺失值的数据行(rows with missing values in dataframe)
  2. 启动controller节点nova组件服务,报错ERROR 13
  3. pat1033汽车加油问题(Java贪心)
  4. python怎么把cpu占满_如何增加python CPU使用率
  5. 2021葫芦岛市第六高级中学高考成绩查询,葫芦岛高考成绩查询
  6. 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
  7. Windows 10环境下「MSCOCO Captions」评估代码踩坑记录
  8. 西门子 PLM 产品被曝数十个漏洞,可导致代码执行后果
  9. 封装多帧dicm图像
  10. Verilog——计数器
  11. 黑苹果 电脑关机是因为发生了问题_能量报 | 苹果部分产品免费保修4年 | 最诚实的手机厂商...
  12. linux系统发育树的构建步骤,步一步教你如何做系统进化树
  13. 误: Automation 服务器不能创建对象 解决方案
  14. Excel在统计分析中的应用—第十一章—相关分析-多元相关-偏相关系数
  15. 每天脑子里莫名其妙冒出来的话(常见于早上起床之后)持续记录,这也是日记的一种
  16. java瀑布图表,瀑布图的完美解决方案 [Excel图表]
  17. kali中exiftool命令查看图片exif信息
  18. 第一节:基础概念介绍(黄老师)
  19. Linux RS232驱动实验
  20. 【信号系统实验2】MATLAB—连续时间信号与系统的频域分析

热门文章

  1. 基于Docker部署Nginx
  2. DVWA学习(二)SQL Injection(Blind)
  3. 在屏幕上输出你好的python语句是_编程实现:在屏幕上输出中文字符“你好,世界”。(输出结果中不带双引号)_学小易找答案...
  4. linux 添加虚拟网卡
  5. 学习运维工程师是正确的选择,发展与前景都是和好的
  6. 【rsyslogd】rsyslog 中 timereported 与 timegenerated 区别
  7. 3、MySQL二进制日志(Binary Log)详解
  8. 11、MySQL算术运算符
  9. 1.8 Boolean类
  10. 初学Java-循环输入直到文件结束