目录
嵌入式系统中常用文件系统包括有cramfs、JFFS2、NFS、initrd、yaffs2、Ext4以及
squashfs。
它们的特性如下:
cramfs
cramfs是针对Linux内核2.4以后的版本所设计的一种新型文件系统,使用简单,加载
容易,速率快。
cramfs的异同点如下:
假如想要在单板运行的Linux中提供cramfs的能力,必需要在编译内核时把cramfs的选项加入。在make
menuconfig后,步入“File>systems”,选择“miscellaneousfilesystems”,最后选中其中的“CompressedROMfilesystemsupport”(SDK上面提供的内核默认早已选择了该文件系统的支持)。
mkfs.cramfs是拿来制做cramfs文件系统映象的工具。通过这个工具处理早已制做好的根文件系统,就可以生成cramfs
文件系统的映象(这类似于我们把光碟制做成ISO文件映像)。具体操作如下所示:hisilicon$mkfs.cramfs./rootbox./cramfs-root.img其中,rootbox是之前早已制做好的根文件系统,cramfs-root.img是生成的cramfs文件系统映像文件。
jffs2
JFFS2是RedHat的DavidWoodhouse在JFFS基础上改进的文件系统,是用于微型嵌入
式设备的原始闪存芯片的实际文件系统。JFFS2文件系统是日志结构化的可读写的文
件系统。
JFFS2的异同点如下:
加载JFFS2文件系统时的步骤如下:
由此可以看出即使这样能有效地提升系统的可靠性,并且在一定程度上减少了系统的
速率。尤其对于较大的闪存芯片linux 虚拟主机,加载过程会更慢。
为了使内核支持JFFS2文件系统,必须在编译内核时把JFFS2的选项加入(我们发布的内核默认早已加入了支持)。在make
menuconfig后,步入“File>systems”,选择“miscellaneous
filesystems”,最后选中其中的“JournallingFlashFileSystemv2(JFFS2)
support”选项(SDK上面提供的内核默认早已选择了该文件系统的支持)。JFFS2的制做方式为:
hisilicon$mkfs.jffs2–d./rootbox-l–e0x20000-ojffs2-root.img
其中,mkfs.jffs2工具可以从互联网中下载,也可以在SDK包中找到。
yaffs2
yaffs2是专门为NANDFlash设计的嵌入式文件系统。
它是日志结构的文件系统,提供了耗损平衡和掉电保护,可以有效地防止意外掉电对文件系统一致性和完整性的影响。
yaffs2的异同点如下:
yaffs2文件系统在SDK中作为一个模块提供。只需在yaffs2代码中的Makefile中加入所依赖的内核代码路径,进行编译,即可生成yaffs2文件系统模块。yaffs2镜像文件的制做和cramfs相同linux支持哪些文件系统,默认的文件系统是什么?,即通过工具制做linux支持哪些文件系统,默认的文件系统是什么?linux中文乱码,只需简单的几个参数,具体如下:
hisilicon$mkyaffs2image./rootboxyaffs2-root.imgpagesizeecctype
其中,rootbox是之前早已制做好的根文件系统,yaffs2-root.img是生成的yaffs2文件系统镜像文件,pagesize是单板上点焊NANDFlash元件的页大小,ecctype是单板上点焊NANDFlash元件的ecc类型。
initrd
initrd相当于储存介质,它支持的文件系统格式有ext2、cramfs等,因而内核不仅支持
initrd之外,还要支持cramfs文件系统。
内核须要做如下配置,initrd才可以正常工作:
Squashfs
squashfs文件系统是一套基于Linux内核使用的压缩只读文件系统,压缩率高。
squashfs具有如下特征:
使用squashfs文件系统步骤:
步骤1.制做支持squashfs的内核镜像。步入linux-3.4.y目录下,执行以下命令:
cparch/arm/configs/hi3518ev200_mini_defconfig.configmakeARCH=armCROSS_COMPILE=arm-hisiXXX-linux-menuconfig(保存退出即可)makeARCH=armCROSS_COMPILE=arm-hisiXXX-linux-uImage
步骤2.制做squashfs文件系统镜像。在发挎包SDK/package/osdrv/tools/pc_tools目录下的
mksquashfs为制做squashfs文件系统工具。使用方式如下:
./mksquashfsrootfs./rootfs.squashfs.img-b64K–compxz
其中,rootfs是之前早已制做好的根文件系统,rootfs.squashfs.img是生成的squashfs文件系统映像文件。-b64K指定squashfs文件系统的块大小为64K(决定于实际spiflash块大小)。-comp指定文件系统压缩方法为xz。依据实际情况更改参数。
----结束
ext4
Ext4文件系统是一个高效的、优秀的、可靠的和极具特征的文件系统,相对于Ext3的
的改进是更深层次的,是文件系统数据结构方面的优化。
步骤1.制做支持Ext4的内核镜像。步入linux-3.4.y目录下,执行以下命令:
cparch/arm/configs/hi3518ev200_full_defconfig.config
makeARCH=armCROSS_COMPILE=arm-hisiXXX-linux-menuconfig(保存退出即可)
makeARCH=armCROSS_COMPILE=arm-hisiXXX-linux-uImage
步骤2.制做Ext4文件系统镜像。在发挎包SDK/package/osdrv/tools/pc_tools目录下的make_ext4fs为制做Ext4文件系统工具。使用方式如下:
./make_ext4f–l32M–srootfs.ext4.img
其中,-l32M是指定uboot中配置emmc的文件系统分区大小为32M,-s为使用gzip压缩,
rootfs.ext4.img是生成的Ext4文件系统映像文件,rootfs是之前早已制做好的根
文件系统。请按照实际情况更改参数。
----结束
文章评论