嵌入式系統增加文件系統分區


最近工作中需要在arm架構的單板上增加一個fat格式的文件系統分區用於windows訪問,就回顧了一下文件系統和linux分區。簡單寫幾句:

單板的存儲介質是eMMC,linux系統,采用交叉編譯。增加分區就直接在fastboot傳給kernel的參數中增加一個分區就好了,沒什么要說的。

這里主要說一下增加文件系統的兩種方式:

 

方法一

1.在宿主機上准備好,再燒錄到對應的分區上:

  dd if=/dev/zero of=data.fat bs=1024 count=1024

  bs和count可以根據自己的需要設置,作者這里bs設置為1024,count設置為1024,也即增加的文件系統設置為了1MB。

  這里如果count太小了的話,執行mkfs.fat的時候會出現錯誤提醒:Not enough space to build proposed filesystem while setting up superblock

  這是因為文件系統的頭部會在分區開始出寫下MBR,記錄文件系統的信息,如果block太少了 ,寫不下的話會報錯,具體的有機會寫一篇文件系統的博客。

  mkfs.fat data.fat -F 32

  這里的-F 32是指定fat32文件系統,你也可以根據自己的需要選擇fat12,fat16,fat32中的任意一個,當然也可以不指定,用默認的就好了。

  這時file data.fat就可以看到文件系統已經格式化好了 :data.vfat: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 2048 (volumes <=32 MB), Media descriptor 0xf8, sectors/FAT 2, sectors/track 32, heads 64, serial number 0xbfc1387d, unlabeled, FAT (12 bit)

  接着將data.fat燒錄到對應的分區即可

 

方法二

2.在目標機上的啟動執行腳本上添加:

  在/init.d/rcS中添加如下shell腳本 :

 

mount /dev/mmcblkmpn /
if [ $? -ne 0 ]; then
    mkfs.fat /dev/mmcblkmpn -F 32
    mount /dev/mmcblkmpn /
fi

  其中mmcblkmpn為對應的文件系統分區

推薦使用方法一,由於方法二在掛載文件系統失敗后可能會有丟失數據的風險

 

以上所有。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM