网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 系统管理 > 系统管理 > 如何制作和使用Jffs2文件系统  

如何制作和使用Jffs2文件系统

2007-07-23  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  本文主要介绍如何在AT91SAM9261EK板子上制作和使用jffs2文件系统,使用的是linux-2.6.21内核。

网管u家u.bitscn@com

  首先:配置MTD

网管联盟bitsCN_com

$ make menuconfig
进入 Memory Technology Devices (MTD) --->
      <*> Memory Technology Device (MTD) support
       [*] Debugging
       [*] MTD partitioning support
       [*]  Command line partition table parsing
       [*] Direct char device access to MTD devices
       [*] Caching block device access to MTD devices
       RAM/ROM/Flash chip drivers ----->
          <*> Detect non-CFI AMD/JEDEC-compatible flash chips
          <*> Support for AMD/Fujitsu flash chips
       Mapping drivers for chip access --->
           [*] Support non-linear mappings of flash chips
       Self-contained MTD device drivers --->
           [*] Support for AT45... DataFlash
       NAND Flash Device Drivers ---->
           [*] NAND Device Support
           [*] Support for NAND Flash /SmartMedia on AT91
                     
      File systems ---->
         <*> Second extended fs support
         [*] Inotify file change notification support
         [*] Inotify support for user space
         <*> Filesystem in Userspace support
         Miscellaneous filesystems
          <*> Journalling Flash File System v2 (JFFS2) support
          [*] JFFS2 write-buffering support
          <*> Compressed ROM file system support (cramfs) 网管u家u.bitsCN.com 
网管联盟bitsCN@com

  以上配置中没有列出的,都没选;其配置仅做参考,可根据自己的需要自行配置。 网管联盟bitsCN_com

  $ make all

中国网管联盟bitsCN.com

  其次:制作mtd-util工具

网管网www.bitscn.com

  从网上下载zlib-1.2.3.tar.gz 解压缩 $ cd zlib-1.2.3 网管联盟bitsCN_com

  $ ./configure –prefix=/usr/local/arm/3.4.1/arm-linux ——shared

网管下载dl.bitscn.com

  修改Makefile如下: 网管u家u.bitscn@com

  CC=arm-linux-gcc 网管论坛bbs_bitsCN_com

  LDSHARED=arm-linux-ld -shared

网管u家u.bitscn@com

  $ make all

网管u家u.bitscn@com

  $ make install 网管论坛bbs_bitsCN_com

  注意:这里是安装在/usr/local/arm/3.4.1/arm-linux目录下 网管网www_bitscn_com

  由于交叉编译mtd工具时需要zlib.h文件,所以在编译之前先安装zlib库文件。

网管bitscn_com

  从网上下载 mtd-snapshot-20050519.tar.bz2 解压缩 $ cd mtd/util

网管网www_bitscn_com

  修改该目录下的Makefile:

中国网管论坛bbs.bitsCN.com

  CROSS=arm-linux-

网管论坛bbs_bitsCN_com

  $ make all 网管网www_bitscn_com

  然后将该目录下生成的 flash_erase,flash_eraseall, mkfs.jffs2工具放在ramdisk 文件系统中(我这里放在/bin目录下),另外在 ramdisk文件系统的dev目录下要保证有mtd0~mtd9,mtdblock0~mtdblock9这些设备,如果没有可参考 ramdisk文件系统的制作,也可从pc机相同目录下拷贝,要加上文件属性。

中国网管联盟bitsCN.com

  另外,需要将/arm-linux/lib目录下的libz.so, libz.so.1, libz.so.1.2.3文件拷贝到ramdisk文件系统的/lib目录下,否则mkfs.jffs2工具不能使用。

网管u家u.bitscn@com

  最后将新生成的uImage和ramdisk文件下载到板子上,起动系统,使用命令 cat /proc/mtd 可以看到 网管下载dl.bitscn.com

  dev: size erasesize name

中国网管论坛bbs.bitsCN.com

  mtd0: 00040000 00020000 "Partition 1"

网管联盟bitsCN_com

  mtd1: 0ffc0000 00020000 "Partition 2"

网管bitscn_com

  mtd2: 00420000 00000210 "spi0.0-AT45DB321x" 网管联盟bitsCN@com

  这里mtd0,mtd1是nandflash上的分区; mtd2是dataflsh上的分区,该分区上放有u-boot,uImage.img,ramdisk.img,所以我们这里可以使用空的nandflash上的两个分区。使用之前要先用工具flash_erase或者flash_eraseall擦除nandflash,具体使用的步骤如下:

中国网管联盟bitsCN.com

  # flash_erase /dev/mtd1

网管网www_bitscn_com

  制作jffs2映像 网管网www_bitscn_com

  # cd /var/tmp 网管网www.bitscn.com

  # mkdir jffs2 (jffs2下的目录可以任意建) 网管网www_bitscn_com

  # mkfs.jffs2 –d jffs2/ -o jffs2.img

网管下载dl.bitscn.com

  # cp /var/tmp/jffs2/jffs2.img /dev/mtdblock1

网管联盟bitsCN@com

  最后# mount -t jffs2 /dev/mtdblock1 /mnt/mtd即可,使用结束可使用$ umount /mnt/mtd 卸载. 网管联盟bitsCN@com

  如果只是当作普通的jffs2 来使用dataflash或者nandflash,可不必制作 jffs2映像,只需要最后一步

网管联盟bitsCN@com

  # mount -t jffs2 /dev/mtdblock1 /mnt/mtd即可。

网管网www_bitscn_com


TAGs   文件   系统   使用   制作   如何   目录   support   jffs2   <   >      
 上一篇:系统备份与恢复技巧 Ghost程序参数四则   下一篇:Linux攻略 如何修改系统服务启动和停止
如何制作和使用Jffs2文件系统 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: