http://www.sourceware.org/jffs2/
zz from: http://blog.sina.com.cn/s/blog_4a4163880100cozw.html
因为jffs2是构建于MTD设备上的文件系统,所以无法通过loop设备来挂载,但是可以通过mtdram设备来挂载。mtdram是在用RAM实现的MTD设备,可以通过mtdblock设备来访问。使用mtdram设备很简单,只要加载mtdram和mtdblock两个内核模块即可。这两个内核模块一般的linux内核发行版都有编译好的,直接用modprobe命令加载。
下面是在Fedora core 6环境下使用mtdram设备挂载jffs2根文件系统映像的具体步骤:
1.加载mtdblock内核模块
[root@localhost ~]# modprobe mtdblock
2.加载mtdram内核模块,将该设备的大小指定为jffs2根文件系统映像的大小,块擦除大小(即flash的块大小)指定为制作该jffs2根文件系统时“-e”参数指定的大小,缺省为64KB。下面两个参数的单位都是KB。
[root@localhost ~]# modprobe mtdram total_size=49152 erase_size=128
3.这时将出现MTD设备/dev/mtdblock0,使用dd命令将jffs2根文件系统拷贝到/dev/mtdblock0设备中。
[root@localhost prebuilt_bin]# dd if=rootfs.jffs2_zylonite_qvga of=/dev/mtdblock0
98304+0 records in
98304+0 records out
50331648 bytes (50 MB) copied, 1.98391 seconds, 25.4 MB/s
步骤三也可以用以下等价的方法完成,更为简单:
[root@localhost ~]# cat roots.jffs2 >/dev/mtdblock0
4.将保存了jffs2根文件系统的MTD设备挂载到指定的目录上。
[root@localhost prebuilt_bin]# mount -t jffs2 /dev/mtdblock0 /mnt/mtd
这之后就可以到/mnt/mtd目录查看、修改挂载的jffs2根文件系统了,修改后的jffs2根文件系统可以通过dd命令拷贝为一个jffs2的映像文件。
mkfs.jffs2参数详解
zz from: http://blog.sina.com.cn/s/blog_4a4163880100cogf.html
实例:mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x1000000 -s 0x200 -n
mkfs.jffs2: Usage: mkfs.jffs2 [OPTIONS]
Make a JFFS2 file system image from an existing directory tree
Options:
-p, --pad[=SIZE] 用16進制來表示所要輸出檔案的大小,也就是root.jffs2 很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的區塊大小。如果不足则使用0xff来填充补满。
-r, -d, --root=DIR 指定要做成image的源資料夾.(默认:当前文件夹)
-s, --pagesize=SIZE 节点页大小(默认: 4KiB)
-e, --eraseblock=SIZE 设定擦除块的大小为(默认: 64KiB)
-c, --cleanmarker=SIZE Size of cleanmarker (default 12)
-m, --compr-mode=MODE Select compression mode (default: priortiry)
-x, --disable-compressor=COMPRESSOR_NAME
Disable a compressor
-X, --enable-compressor=COMPRESSOR_NAME
Enable a compressor
-y, --compressor-priority=PRIORITY:COMPRESSOR_NAME
Set the priority of a compressor
-L, --list-compressors Show the list of the avaiable compressors
-t, --test-compression Call decompress and compare with the original (for test)
-n, --no-cleanmarkers 指明不添加清楚标记(nand flash 有自己的校检块,存放相关的信息。) 如果挂载后会出现类似:
CLEANMARKER node found at 0x0042c000 has totlen 0xc != normal 0x0
的警告,则加上-n 就会消失。
-o, --output=FILE 指定輸出image檔案的文件名.(default: stdout)
-l, --little-endian 指定使用小端格式
-b, --big-endian 指定使用大端格式
-D, --devtable=FILE Use the named FILE as a device table file
-f, --faketime Change all file times to '0' for regression testing
-q, --squash Squash permissions and owners making all files be owned by root
-U, --squash-uids 将所有文件的拥有者设为root用户
-P, --squash-perms Squash permissions on all files
--with-xattr stuff all xattr entries into image
--with-selinux stuff only SELinux Labels into jffs2 image
--with-posix-acl stuff only POSIX ACL entries into jffs2 image
-h, --help 显示这些文字
-v, --verbose Verbose operation
-V, --version 显示版本
-i, --incremental=FILE Parse FILE and generate appendage output for it
分享到:
相关推荐
完成以上步骤后,ZYNQ7045系统将在启动时挂载JFFS2文件系统,允许用户在该系统上创建文件和目录,且这些更改将在下次重启后保持不变。JFFS2文件系统的使用显著增强了基于Xilinx ZYNQ平台的系统的非易失性存储能力,...
在嵌入式Linux系统中,jffs2(Journaling Flash File System 2)文件系统扮演着至关重要的角色,它专为闪存设备设计,提供了日志功能以确保数据完整性。本文将详细探讨如何对jffs2格式的bin文件进行打包和解压,同时...
### ARM-LINUX上构建JFFS2文件系统详解 #### 一、概述 在嵌入式系统开发过程中,选择合适且高效的操作系统及其文件系统至关重要。对于基于ARM架构的平台而言,JFFS2(Journaling Flash File System 2)是一种广泛...
JFFS2 采用垃圾收集技术来回收标记为废弃的空间,该技术可以在 FLASH 上添加新的内容,回收标记为废弃的空间,提高文件系统的可靠性。 在嵌入式 LINUX 系统中,JFFS2 文件系统的实现需要结合 MTD (Memory ...
在制作JFFS2根文件系统的镜像过程中,`mkfs.jffs2` 命令是至关重要的步骤之一。下面详细介绍该命令中提到的参数: 1. **-r**: 指定要构建镜像的源目录。例如 `-r /home/tekkamanninja/working/nfs/rootfs` 表示源...
3. 文件系统的挂载:在嵌入式Linux系统下,需要将JFFS2文件系统挂载到一个指定的目录下,以便于用户程序的访问。 4. 文件系统的测试:在嵌入式Linux系统下,需要对JFFS2文件系统进行测试,以便于验证其正确性和可靠...
为了将`root_fs.jffs2`应用到目标设备,通常需要将其挂载到特定的设备节点上,或者在设备启动时指定该文件作为根文件系统。 **`mkfs.jffs2`** `mkfs.jffs2`是创建JFFS2文件系统的命令行工具。使用这个工具,开发者...
"JFFS2文件系统在嵌入式Linux根文件系统中的应用研究" 在嵌入式Linux系统中,根文件系统是其中一个重要组件。随着数字终端和信息家电的普及,嵌入式Linux得到了广泛的应用。然而,传统的嵌入式Linux根文件系统多是...
下面将详细介绍如何在 Linux 下基于 NorFlash 制作 JFFS2 文件系统。 1. BusyBox 的安装和配置 BusyBox 是一个轻量级的 Unix 工具箱,提供了许多基本的 Unix 命令,如 ls、cp、mkdir 等。 BusyBox 1.13.3 是当前...
在嵌入式Linux上实现JFFS文件系统 嵌入式Linux系统中的文件系统是指在嵌入式设备中实现的文件存储和管理系统。其中,JFFS(Journaling Flash File System)是一种专门为Flash存储器设计的文件系统。它可以在嵌入式...
在Linux系统中,JFFS2(Journaling Flash File System Version 2)是为闪存设备量身定制的一种日志结构化文件系统,由瑞典的Axis Communications AB设计,旨在解决传统文件系统在闪存介质上运行时遇到的效率和寿命...
### 制作文件系统的JFFS2镜像 #### 知识点概述 本文主要介绍如何在特定环境下制作文件系统的JFFS2镜像,并详细解释了制作过程中的关键步骤及注意事项。JFFS2(Journaling Flash File System 2)是一种专门为闪存...
本文将主要介绍如何在 AT91SAM9261EK 板子上制作和使用 Jffs2 文件系统,使用的是 Linux-2.6.21 内核。 首先,需要配置 MTD(Memory Technology Devices)支持。在 Linux 内核中,MTD 是一个子系统,负责管理闪存...
### 嵌入式Linux的JFFS2文件...通过上述步骤,我们不仅能够成功地在S3C2410平台上移植JFFS2文件系统,还能够深入了解嵌入式系统中文件系统的工作原理和技术细节。这对于进一步优化系统性能和提升开发效率具有重要意义。
在嵌入式Linux系统中实现JFFS文件系统是一种非常重要的技术,通过本文,我们将了解如何在嵌入式Linux系统中实现JFFS文件系统。 JFFS文件系统简介 JFFS(Journaling Flash File System)是一种专门为Flash存储器...
在使用mtd-utils和jffs2的场景下,u-boot通常会配置为加载jffs2文件系统映像,并将其挂载到内存中,以便Linux内核能够访问。 在实际操作中,`mtd-utils-1.4.5` 是mtd-utils工具的特定版本,可能包含对NAND Flash和...
嵌入式Linux文件系统在开发过程中扮演着至关重要的角色,其中JFFS2(Journaling Flash File System 2)是一种广泛应用于嵌入式设备的闪存文件系统。它设计的目标是充分利用并优化闪存设备的特性,同时提供数据的可靠...
(1)配置内核支持jffs2文件系统。 File systems ---> [*] Miscellaneous filesystems ---> <*> Journalling Flash File System v2 (JFFS2) support 重新编译内核并拷贝到/tftpboot下。 (2)zlib的编译。 解压zlib-...
- **更高的效率**:JFFS2 在设计上更加注重提高文件系统性能,尤其是在读写速度方面进行了优化。 - **更大的容量**:JFFS2 支持更大的文件和更大的文件系统大小,这对于需要大量存储空间的应用来说尤为重要。 - **更...
jffs2文件系统镜像 可以直接烧写使用