歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux的PC上掛載jffs2根文件系統映像

Linux的PC上掛載jffs2根文件系統映像

日期:2017/2/28 16:47:10   编辑:Linux教程

  我們在調試硬件板時,經常需要做多個jffs2的根文件系統映像,有時也要對比其他途徑得到的可用的jffs2根文件系統映像。但jffs2的文件系統映像不象光盤的映像文件一樣可以通過loop設備來掛載……

  我們在調試硬件板時,經常需要做多個jffs2的根文件系統映像,有時也要對比其他途徑得到的可用的jffs2根文件系統映像。但jffs2的文件系統映像不象光盤的映像文件一樣可以通過loop設備來掛載,總不可能一個個燒錄到硬件板去看吧。

  後來到網上google了一把,左翻右翻之後總算找到了一個方法。因為jffs2是構建於MTD設備上的文件系統,所以無法通過loop設備來掛載,但是可以通過mtdram設備來掛載。mtdram是在用RAM實現的MTD設備,可以通過mtdblock設備來訪問。使用mtdram設備很簡單,只要加載mtdram和mtdblock兩個內核模塊即可。www.britepic.org這兩個內核模塊一般的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

  4.將保存了jffs2根文件系統的MTD設備掛載到指定的目錄上。

  [root@localhost prebuilt_bin]# mount -t jffs2 /dev/mtdblock0 /mnt/mtd

  這之後就可以到/mnt/mtd目錄查看、修改掛載的jffs2根文件系統了,修改後的jffs2根文件系統可以通過dd命令拷貝為一個jffs2的映像文件。

Copyright © Linux教程網 All Rights Reserved