千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 制作JFFS2文件系统

制作JFFS2文件系统

来源:千锋教育
发布人:wjy
时间: 2022-12-28 11:48:09 1672199289

  制作 JFFS2 文件系统是通过工具 mkfs.jffs2 将文件系统目录制成映像文件。制作工具 mkfs.jffs2 需要编译 zhb 库和 mtd-utils,下面详细介绍其制作过程。

  1.内核配置MTD驱动支持和JFFS2支持

  我们可以了解 YAFFS2 自带 MTD 驱动,而 JFFS2 文件系统则需要在内核中配 置 MTD 驱动支持。

制作 JFFS2 文件系统176

  内核也必须支持 JFFS2 文件系统。 在编译内核时选择 Device Drivers ---> Memory Technology Device (MTD) support --->, 进入 Memory Technology Device 配置窗口,如图 5.14 所示。 在编译内核时选择 File systems --->Miscellaneous filesystems--->,进入 Miscellaneous filesystems 配置窗口,选择支持 JFFS2 文件系统,如

制作 JFFS2 文件系统429

  2.制作工具mkfs.jffs2

  制作工具 mkfs.jffs2 是用于制作 JFFS2 映像文件。制作 JFFS2 映像文件需要以下两个文件:

制作 JFFS2 文件系统509

  (1)编译安装 zlib 库,用于文件压缩和解压。进入 zlib 的解压目录下,使用 configure命令生成 Makefile。

  # ./configure --prefix=/usr/local/arm/4.4.3/arm-none-linux-gnueabi/libc -shared

  修改生成的 Makefile 如下:

  CC=arm-linux-gcc

  LDSHARED= arm-linux-gcc -shared

  -Wl,-soname,libz.so.1,--version-script,zlib.map

  CPP=arm-linux-gcc –E

  AR=arm-linux-ar

  RANLIB=arm-linux-ranlib

  执行 make 和 make install 进行编译和安装。

  #make

  #make install

  编译和安装完成后在目录/usr/local/arm/4.4.3/arm-none-linux-gnueabi/libc/lib 下会生成 动态和静态库文件 libz.a、libz.so、libz.so.1.2.8 和 libz.so.1。

  (2)编译工具 mtd-utils。进入 mtd-utils 的解压目录,执行 make 进行编译。完成编译后,新生成的工具

  mkfs.jffs2、mkfs.jffs 等在目录/usr/local/jffs_root/tmp/mtd-utils-1.0.0 下。

  # tar jxvf mtd-utils-1.5.0.tar.bz2

  # cd mtd-utils-1.5.0

  # make

  # make install

  将该路径添加到环境变量 PATH 中。

  #PATH=$PATH: /usr/local/jffs_root/tmp/mtd-utils-1.0.0

  (3)制作 JFFS2 映像文件。制作 JFFS2 根文件系统的过程与其他文件系统的过程相同,

  制作 JFFS2 映像文件的命令如下:

  #mkfs.jffs2 -r jffs_root -o jffs_root.jffs2 -e 0x4000 --pad=0x800000 -s 0x200 -n

  各个参数的含义如下所述。

  -r:指定文件系统。

  -o:指定输出的映像文件名。

  -e:擦除块的大小(block size),不同的 flash,其 block size 不一样。

  --pad (-p):指定输出文件的大小,也就是 jffs_root.jffs2 的大小。重要的是, 为 了不浪费 flash 的空间,该值应该符合 flash driver 划分块的大小。

  -n:在每个擦除块中不添加 clreanmarker(消除标志)

  本文摘自《linux系统移植(第2版)》

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT