JFFS2文件系统的制作_第1页
JFFS2文件系统的制作_第2页
JFFS2文件系统的制作_第3页
JFFS2文件系统的制作_第4页
JFFS2文件系统的制作_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

经典word整理文档,仅参考,双击此处可删除页眉页脚。本资料属于网络整理,如有侵权,请联系删除,谢谢!是a=0000*3。需要MTD设备的工具包,从/下载mtd-utils的tarball,可以下载最新的。解压编译生成mkfs.jffs2工具,用它来将一个目录制作成jffs2文件系统映像文件。两个可以参考的命令:mkfs.jffs2-n-s512-e16KiB-drootfs-orootfs.jffs2"-n"表示不要在每个擦除块上都加上清除标志。"-s512"指明一页大小为512字节"-e16KiB"指明一个擦除块大小为16KB"-d"表示根文件系统目录"-o"表示输出文件mkfs.jffs2-rrootfs-o.jffs2-e0x4000--pad=0x500000-s0x200-n-r:指定要做成image的源資料夾.--pad(-p:用16進制來表示所要輸出檔案的大小,也就是root.jffs2的size,為了不浪費flash空間,這個值最好符合flashdriver所規劃的區塊大小以我的板子來說,就是5MB.如果挂载后会出现类似:CLEANMARKERnodefoundat0x0042c000hastotlen0xc!=normal0x0的警告,则加上-n就会消失。如何制作和使用jffs2文件系统本文主要介绍如何在AT91SAM9261EK板子上制作和使用jffs2是linux-2.6.21内核。首先:配置MTD$makemenuconfig进入MemoryTechnologyDevices(MTD)--->MemoryTechnologyDevice(MTD)supportDebuggingMTDpartitioningsupportCommandlinepartitiontableparsingDirectchardeviceaccesstoMTDdevicesCachingblockdeviceaccesstoMTDdevicesRAM/ROM/Flashchipdrivers----->Detectnon-CFIAMD/JEDEC-compatibleflashchipsSupportforAMD/FujitsuflashchipsMappingdriversforchipaccess--->Supportnon-linearmappingsofflashchipsSelf-containedMTDdevicedrivers--->SupportforAT45...DataFlashNANDFlashDeviceDrivers---->NANDDeviceSupportSupportforNANDFlash/SmartMediaonAT91Filesystems---->SecondextendedfssupportInotifyfilechangenotificationsupportInotifysupportforuserspaceFilesysteminUserspacesupportMiscellaneousfilesystemsJournallingFlashFileSystemv2(JFFS2)supportJFFS2write-bufferingsupportCompressedROMfilesystemsupport(cramfs)以上配置中没有列出的,$makeall其次:制作mtd-util工具从网上下载zlib-1.2.3.tar.gz解压缩$cdzlib-1.2.3$./configure–prefix=/usr/local/arm/3.4.1/arm-linux--shared修改Makefile如下:CC=arm-linux-gccLDSHARED=arm-linux-ld-shared$makeall$makeinstall注意:这里是安装在/usr/local/arm/3.4.1/arm-linux目录下由于交叉编译mtd工具时需要zlib.hzlib库文件。从网上下载mtd-snapshot-20050519.tar.bz2解压缩$cdmtd/util修改该目录下的Makefile:CROSS=arm-linux-$makeall然后将该目录下生成的flash_erase,flash_eraseall,mkfs.jffs2工具放在ramdisk文件系统中(我这里放在/bin目录下),另外在ramdisk文件系统的dev目录下要保证有mtd0~mtd9,mtdblock0~mtdblock9ramdisk文件系统的制作,也可从pc机相同目录下拷贝,要加上文件属性。另外,需要将/arm-linux/lib目录下的libz.so,libz.so.1,libz.so.1.2.3文件拷贝到ramdisk文件系统的/lib目录下,否则mkfs.jffs2工具不能使用。最后将新生成的uImage和ramdiskcat/proc/mtd可以看到dev:sizeerasesizenamemtd0:0004000000020000"Partition1"mtd1:0ffc000000020000"Partition2"mtd2:0042000000000210"spi0.0-AT45DB321x"这里mtd0,mtd1是nandflash上的分区;mtd2是dataflsh上的分区,该分区上放有u-boot,uImage.img,ramdisk.img,所以我们这里可以使用空的nandflash上的两个分区。使用之前要先用工具flash_erase或者flash_eraseall擦除nandflash,具体使用的步骤如下:#flash_erase/dev/mtd1制作jffs2映像#cd/var/tmp#mkdirjffs2(jffs2下的目录可以任意建)#mkfs.jffs2–djffs2/-ojffs2.img#cp/var/tmp/jffs2/jffs2.img/dev/mtdblock1最后#mount-tjffs2/dev/mtdblock1/mnt/mtd即可,使用结束可使用$umount/mnt/mtd卸载.如果只是当作普通的jffs2来使用dataflash或者nandflash,可不必制作jffs2映像,只需要最后一步#mount-tjffs2/dev/mtdblock1/mnt/mtd即可如何制作和使用jffs2文件系统本文主要介绍如何在AT91SAM9261EK板子上制作和使用jffs2是linux-2.6.21内核。首先:配置MTD$makemenuconfig进入MemoryTechnologyDevices(MTD)--->MemoryTechnologyDevice(MTD)supportDebuggingMTDpartitioningsupportCommandlinepartitiontableparsingDirectchardeviceaccesstoMTDdevicesCachingblockdeviceaccesstoMTDdevicesRAM/ROM/Flashchipdrivers----->Detectnon-CFIAMD/JEDEC-compatibleflashchipsSupportforAMD/FujitsuflashchipsMappingdriversforchipaccess--->Supportnon-linearmappingsofflashchipsSelf-containedMTDdevicedrivers--->SupportforAT45...DataFlashNANDFlashDeviceDrivers---->NANDDeviceSupportSupportforNANDFlash/SmartMediaonAT91Filesystems---->SecondextendedfssupportInotifyfilechangenotificationsupportInotifysupportforuserspaceFilesysteminUserspacesupportMiscellaneousfilesystemsJournallingFlashFileSystemv2(JFFS2)supportJFFS2write-bufferingsupportCompressedROMfilesystemsupport(cramfs)以上配置中没有列出的,$makeall其次:制作mtd-util工具从网上下载zlib-1.2.3.tar.gz解压缩$cdzlib-1.2.3$./configure–prefix=/usr/local/arm/3.4.1/arm-linux--shared修改Makefile如下:CC=arm-linux-gccLDSHARED=arm-linux-ld-shared$makeall$makeinstall注意:这里是安装在/usr/local/arm/3.4.1/arm-linux目录下由于交叉编译mtd工具时需要zlib.hzlib库文件。从网上下载mtd-snapshot-20050519.tar.bz2解压缩$cdmtd/util修改该目录下的Makefile:CROSS=arm-linux-$makeall然后将该目录下生成的flash_erase,flash_eraseall,mkfs.jffs2工具放在ramdisk文件系统中(我这里放在/bin目录下),另外在ramdisk文件系统的dev目录下要保证有mtd0~mtd9,mtdblock0~mtdblock9ramdisk文件系统的制作,也可从pc机相同目录下拷贝,要加上文件属性。另外,需要将/arm-linux/lib目录下的libz.so,libz.so.1,libz.so.1.2.3文件拷贝到ramdisk文件系统的/lib目录下,否则mkfs.jffs2工具不能使用。最后将新生成的uImage和ramdiskcat/proc/mtd可以看到dev:sizeerasesizenamemtd0:0004000000020000"Partition1"mtd1:0ffc000000020000"Partition2"mtd2:0042000000000210"spi0.0-AT45DB321x"这里mtd0,mtd1是nandflash上的分区;mtd2是dataflsh上的分区,该分区上放有u-boot,uImage.img,ramdisk.img,所以我们这里可以使用空的nandflash上的两个分区。使用之前要先用工具flash_erase或者flash_eraseall擦除nandflash,具体使用的步骤如下:#flash_erase/dev/mtd1制作jffs2映像#cd/var/tmp#mkdirjffs2(jf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论