2010-08-03 113 views
3

我正在開發嵌入式平臺(Broadcom的帶有MIPS內核的bcm5358u處理器),其中我需要額外的分區以用於進一步的升級過程。所使用的文件系統是Squashfs的,所以我修改了「結構mtd_partition」因此,這是傳遞給MTD相關代碼,我結束了這一點:創建多個SquashFS分區

#cat /proc/partitions 
major minor #blocks name 

- 31  0  128 mtdblock0 
- 31  0  128 mtdblock0 
- 31  1  6016 mtdblock1 
- 31  2  4573 mtdblock2 
- 31  3  6016 mtdblock3 
- 31  4  4445 mtdblock4 
- 31  5  4160 mtdblock5 
- 31  6   64 mtdblock6 

現在我希望能夠掛載的/ dev/mtdblock4作爲系統升級期間的臨時存儲,但我不能這樣做,因爲看起來這個分區mtdblock4沒有安裝任何FS。內核映像和FS集成在一個映像中,該映像沿着/ dev/mtdblock2(作爲root_fs提供給內核)閃存。

我只看到一個解決方案:創建一個空的squashFS映像,將它寫在/ dev/mtdblock4上,可能它會按我想要的方式工作(?)。有沒有辦法像在內核啓動時那樣,即時格式化分區,或者它違反了MTD概念?

謝謝。

+0

這是[超級用戶](http://superuser.com)的問題。 – kiamlaluno 2010-08-03 07:49:13

+1

不,它確實不是。它非常適合嵌入式系統。 – caf 2010-08-03 09:27:18

回答

0

有沒有一個原因,你不能創建一個新的FS掛載?

你絕對不想要一個空的squashFS圖像。如果你想臨時寫入存儲,你可以使用類似tmpfs的卷。如果您需要支持系統重新啓動,則可以在原始閃存設備上使用JFFS。您應該能夠像任何其他塊設備一樣格式化/安裝MTD設備。

1

您可以將JFFS2文件系統掛載到空的(已擦除)閃存上。它會自動在安裝時對閃存分區「格式化」 。 Squashfs不是一個好的候選者,因爲它是一個只讀文件系統。

0

感謝您的回覆。

是的,SquashFS是隻讀的,但我可以通過平臺供應商提供的Web界面更新我的系統。平臺SDK提供API以直接從用戶空間訪問MTD。