Linux ram挂载jffs2文件系统

参考链接:
http://www.linuxdiyf.com/viewarticle.php?id=58126
http://blog.chinaunix.net/uid-26683644-id-3394110.html
如何将一个ram mtd设备格式化为jffs2文件系统并且正常使用?
1.kernel 配置:

(1)jffs2文件系统支持:
File systems  --->
 -*- Miscellaneous filesystems  ---> 
      <*>   Journalling Flash File System v2 (JFFS2) support                                                              
     (0)     JFFS2 debugging verbosity (0 = quiet, 2 = noisy)                                                           
     [*]     JFFS2 write-buffering support                                                                                  
     [*]       Verify JFFS2 write-buffer reads                                                                            
     [*]     JFFS2 summary support                                                                                       
     [*]     JFFS2 XATTR support                                                                                           
     [*]       JFFS2 POSIX Access Control Lists                                                                            
     [*]       JFFS2 Security Labels                                                                                       
     [ ]     Advanced compression options for JFFS2

(2) ram mtd 支持

 Device Drivers  ---> 
 <*> Memory Technology Device (MTD) support  --->
     <*>   Caching block device access to MTD devices
     Self-contained MTD device drivers  ---> 
         <*> Test driver using RAM                                                                                             
                  (8192) MTDRAM device size in KiB                                                                                     
                  (128) MTDRAM erase block size in KiB

说明:这个配置让kernel把一块内存区域虚拟成一片flash给你使用。
8192 这里指分配8M的内存大小,系统启动后/dev/会有个8M大小的块设备。
128  指擦除块大小
2.jffs2文件系统制作:
这步操作在UBUNTU主机上执行,目的是为了得到一个jffs2镜像文件
mkfs.jffs2 -s 0x1000 -e 0x20000 -p 0x800000 -d jffs2-file/ -o jffs2.img
说明:-p 0x800000 指生成8M大小的镜像,这个大小要和你kernel配置的一致:
(8192) MTDRAM device size in KiB
-e 0x2000 快擦除大小128K,与(128) MTDRAM erase block size in KiB一致。
3.使用
以下操作在target上执行
(1)将上一步得到的jffs2.img拷贝到target /jffs2.img
(2) dd if=/jffs2.img of=/dev/mtdblock0
(3) mkdir test; mount -t jffs2 /dev/mtdblock0 test
(4)查看是否成功:
root@intel-x86-64:~# mount
/dev/mtdblock0 on /root/test type jffs2 (rw,relatime)
(5) 读写测试:
cd /root/test; cp /sbin/init .

发布了31 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Hsu_smile/article/details/81031530
今日推荐