嵌入式系統(tǒng)的分區(qū)方案非常重要,它在一定程度上決定了系統(tǒng)的穩(wěn)定性、安全性和靈活性。這篇我們講講嵌入式系統(tǒng)的主流分區(qū)方案。
一個最簡單、最直接的分區(qū)方案通常由u-boot、env環(huán)境變量、kernel、rootfs依次組成,layout如下:
這種方案的缺點(diǎn)非常明顯,不便于系統(tǒng)在線升級的實施,針對系統(tǒng)在線升級的需求,我們應(yīng)該預(yù)留出升級分區(qū)。
這種分區(qū)方案,將Kernel和Rootfs分別做了A、B兩個分區(qū)規(guī)劃,可以分別對Kernel和Rootfs進(jìn)行在線升級操作,相比第一種方案更加彈性和靈活。
當(dāng)然,在這個基礎(chǔ)上,我們還可以對Rootfs進(jìn)行更加細(xì)致的再分區(qū),比如單獨(dú)規(guī)劃出系統(tǒng)應(yīng)用和數(shù)據(jù)分區(qū),處于安全性和穩(wěn)定性的考慮,可以將系統(tǒng)應(yīng)用分區(qū)格式化為只讀文件系統(tǒng)類型,將數(shù)據(jù)分區(qū)格式化為可讀可寫文件系統(tǒng)類型。對于emmc類型的存儲設(shè)備,其文件系統(tǒng)類型和我們PC用的硬盤是一致的,沒有什么區(qū)別,然而flash存儲設(shè)備就要復(fù)雜的多了。在閃存與文件系統(tǒng)的介紹中,我們知道,flash存儲設(shè)備的文件系統(tǒng)是構(gòu)建于MTD之上的,所以flash底層的分區(qū),就是一個個MTD分區(qū)。我們也知道,現(xiàn)在主流的針對flash存儲設(shè)備(尤其是大于128MB的)文件系統(tǒng)為UBIFS,UBIFS和UBI總是成對出現(xiàn)的,因為UBIFS是構(gòu)建于UBI之上的,而UBI又是構(gòu)建于MTD之上的。
UBI的主要功能是wear leveling,所以UBIFS文件系統(tǒng)一個不同于JFFS2文件系統(tǒng)的地方就是它將wear leveling和文件系統(tǒng)分層實現(xiàn)。注意,UBI是針對整個存儲空間而不是單個分區(qū)進(jìn)行wear leveling,這大大增加了flash的使用壽命,下圖很好的闡釋了UBI的wear leveling的功能,我們可以看到Volume 1 和 Volume 2 的wear leveling范圍是整個MTD。
另外,UBI還能實現(xiàn)類似LVM的卷管理功能--Volume Management,可以在MTD分區(qū)之上創(chuàng)建多個邏輯分區(qū),針對單個卷,可以動態(tài)調(diào)整卷大小,也可以選擇設(shè)置為靜態(tài)卷(read only)。這里要注意的是,U-Boot和env不能放在UBI Volume邏輯分區(qū),需要直接放在MTD分區(qū),通常Kernel也是直接放在MTD分區(qū)。
當(dāng)然,我們也可以和之前一樣預(yù)留升級分區(qū),另外也可以在一片flash的不同MTD 分區(qū)上構(gòu)建不同的文件系統(tǒng),例如UBIFS和CRAMFS、JFFS2等可以共存在一片flash上,以充分利用不同文件系統(tǒng)類型的組合優(yōu)勢。
小結(jié)
嵌入式系統(tǒng)的分區(qū)方案通常會考慮預(yù)留升級分區(qū),emmc的文件系統(tǒng)類型與PC的硬盤一致,操作也類似,而針對flash存儲設(shè)備,主流為UBIFS和UBI的分區(qū)方案。
-
閃存
+關(guān)注
關(guān)注
16文章
1801瀏覽量
115114 -
硬盤
+關(guān)注
關(guān)注
3文章
1317瀏覽量
57494 -
UBI
+關(guān)注
關(guān)注
0文章
9瀏覽量
4128 -
rootfs
+關(guān)注
關(guān)注
0文章
19瀏覽量
4677
發(fā)布評論請先 登錄
相關(guān)推薦
嵌入式軟件開發(fā)工程師培訓(xùn) 嵌入式系統(tǒng)主要特點(diǎn)
嵌入式軟件開發(fā)工程師培訓(xùn) 嵌入式系統(tǒng)主要特點(diǎn)
嵌入式linux培訓(xùn)教程 嵌入式linux學(xué)習(xí)方法步驟
嵌入式軟件開發(fā)工程師培訓(xùn) 嵌入式系統(tǒng)主要特點(diǎn)
嵌入式系統(tǒng)和通用計算機(jī)系統(tǒng)的最大區(qū)別是什么
嵌入式系統(tǒng)的設(shè)計方法
借力GSD/FPGA 嵌入式系統(tǒng)設(shè)計省時又省力
[學(xué)習(xí)嵌入式]嵌入式系統(tǒng)學(xué)習(xí)方法,輕松入門嵌入式
讓嵌入式開發(fā)人員省時省力的七個技巧秘訣
嵌入式Linux環(huán)境變量分區(qū)制作
![<b class='flag-5'>嵌入式</b>Linux環(huán)境變量<b class='flag-5'>分區(qū)</b>制作](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
工地門口安裝揚(yáng)塵在線監(jiān)測系統(tǒng)省時省力
![工地門口安裝揚(yáng)塵在線監(jiān)測<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>省時省力</b>](https://file.elecfans.com/web2/M00/33/AE/pYYBAGIgHBmAS5dcAA-4lBwBcig757.png)
高科技治理環(huán)境污染,揚(yáng)塵在線監(jiān)測系統(tǒng)省時省力
![高科技治理環(huán)境污染,揚(yáng)塵在線監(jiān)測<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>省時省力</b>](https://file.elecfans.com/web2/M00/43/15/pYYBAGJ8anKAV7fxAACExR4btj4419.png)
評論