1. 程式人生 > >原製作檔案系統的Cramfs映象

原製作檔案系統的Cramfs映象

 

一、環境
Ubuntu 8.04
U-Boot 1.3.3(支援tftp)
二、過程
1、製作cramfs需要使用mkcramfs工具,首先 安裝mkcramfs工具
   $sudo apt-get install cramfsprogs
2、退到已做好的rootfs目錄的上一級
   ~/rootfs$ cd ..
   $mkcramfs rootfs/ rootfs.cramfs
    即可生成rootfs.cramfs
3、啟動u-boot,將rootfs.cramfs下載到ram並燒寫到nand flash的某個分割槽上。
   nand flash 的分割槽為:
 Creating 6 MTD partitions on "NAND 64MiB 3,3V 8-bit":
 0x00000000-0x00030000 : "bootloader"
 0x00030000-0x00200000 : "kernel"
 0x00200000-0x00400000 : "ramdisk"
 0x00400000-0x00800000 : "cramfs"
 0x00800000-0x01000000 : "jffs2"
 0x01000000-0x04000000 : "data"
   我們可以將rootfs.cramfs燒寫到0x400000上,對應的結點為/dev/mtdblock/3。
  tftp 32000000 rootfs.cramfs
  nand erase 400000 800000
  nand write.jffs2 32000000 400000 200000
4、要從cramfs啟動,可將u-boot的啟動引數改為:
  root="/dev/mtdblock/3" rootfstype="cramfs" console="ttySAC0",115200 init="/linuxrc" noinitrd mem="64M"
   即可。

   如果需要在其它檔案系統中掛載該cramfs檔案系統,可以這樣做
  #cd /tmp
  #mkdir cramfs
  #mount -t cramfs /dev/mtdblock/3 cramfs

注意:使用cramfs檔案系統時,對核心進行配置時需要選上對cramfs的支援。
附:
這裡說明下關於nand flash操作的幾個常用命令的含義
nand write:向Nand Flash寫入資料,如果NandFlash相應的區域有壞塊,則直接報錯。
nand write.jffs2:向Nand Flash寫入資料,如果NandFlash相應的區域有壞塊,可以跳過壞塊。
nand read:讀取Nand Flash相應區域的資料,如果NandFlash相應的區域有壞塊,則直接報錯。
nand read.jffs2s:讀取Nand Flash相應區域的資料,如果NandFlash相應的區域有壞塊,將對應壞塊區域的緩衝填充0xff,然後跳過此壞塊繼續讀取。
nand read.jffs2:讀取Nand Flash相應區域的資料,如果NandFlash相應的區域有壞塊,直接跳過壞塊。
本文來自: 高校自動化網(

Www.zdh1909.com) 詳細出處參考(轉載請保留本連結):http://www.zdh1909.com/html/MCS51/4944_2.html