嵌入式系統(tǒng)的分區(qū)方案非常重要,它在一定程度上決定了系統(tǒng)的穩(wěn)定性、安全性和靈活性。這篇我們講講嵌入式系統(tǒng)的主流分區(qū)方案。
一個(gè)最簡(jiǎn)單、最直接的分區(qū)方案通常由u-boot、env環(huán)境變量、kernel、rootfs依次組成,layout如下:
這種方案的缺點(diǎn)非常明顯,不便于系統(tǒng)在線升級(jí)的實(shí)施,針對(duì)系統(tǒng)在線升級(jí)的需求,我們應(yīng)該預(yù)留出升級(jí)分區(qū)。
這種分區(qū)方案,將Kernel和Rootfs分別做了A、B兩個(gè)分區(qū)規(guī)劃,可以分別對(duì)Kernel和Rootfs進(jìn)行在線升級(jí)操作,相比第一種方案更加彈性和靈活。
當(dāng)然,在這個(gè)基礎(chǔ)上,我們還可以對(duì)Rootfs進(jìn)行更加細(xì)致的再分區(qū),比如單獨(dú)規(guī)劃出系統(tǒng)應(yīng)用和數(shù)據(jù)分區(qū),處于安全性和穩(wěn)定性的考慮,可以將系統(tǒng)應(yīng)用分區(qū)格式化為只讀文件系統(tǒng)類(lèi)型,將數(shù)據(jù)分區(qū)格式化為可讀可寫(xiě)文件系統(tǒng)類(lèi)型。對(duì)于emmc類(lèi)型的存儲(chǔ)設(shè)備,其文件系統(tǒng)類(lèi)型和我們PC用的硬盤(pán)是一致的,沒(méi)有什么區(qū)別,然而flash存儲(chǔ)設(shè)備就要復(fù)雜的多了。在閃存與文件系統(tǒng)的介紹中,我們知道,flash存儲(chǔ)設(shè)備的文件系統(tǒng)是構(gòu)建于MTD之上的,所以flash底層的分區(qū),就是一個(gè)個(gè)MTD分區(qū)。我們也知道,現(xiàn)在主流的針對(duì)flash存儲(chǔ)設(shè)備(尤其是大于128MB的)文件系統(tǒng)為UBIFS,UBIFS和UBI總是成對(duì)出現(xiàn)的,因?yàn)閁BIFS是構(gòu)建于UBI之上的,而UBI又是構(gòu)建于MTD之上的。
UBI的主要功能是wear leveling,所以UBIFS文件系統(tǒng)一個(gè)不同于JFFS2文件系統(tǒng)的地方就是它將wear leveling和文件系統(tǒng)分層實(shí)現(xiàn)。注意,UBI是針對(duì)整個(gè)存儲(chǔ)空間而不是單個(gè)分區(qū)進(jìn)行wear leveling,這大大增加了flash的使用壽命,下圖很好的闡釋了UBI的wear leveling的功能,我們可以看到Volume 1 和 Volume 2 的wear leveling范圍是整個(gè)MTD。
另外,UBI還能實(shí)現(xiàn)類(lèi)似LVM的卷管理功能--Volume Management,可以在MTD分區(qū)之上創(chuàng)建多個(gè)邏輯分區(qū),針對(duì)單個(gè)卷,可以動(dòng)態(tài)調(diào)整卷大小,也可以選擇設(shè)置為靜態(tài)卷(read only)。這里要注意的是,U-Boot和env不能放在UBI Volume邏輯分區(qū),需要直接放在MTD分區(qū),通常Kernel也是直接放在MTD分區(qū)。
當(dāng)然,我們也可以和之前一樣預(yù)留升級(jí)分區(qū),另外也可以在一片flash的不同MTD 分區(qū)上構(gòu)建不同的文件系統(tǒng),例如UBIFS和CRAMFS、JFFS2等可以共存在一片flash上,以充分利用不同文件系統(tǒng)類(lèi)型的組合優(yōu)勢(shì)。
小結(jié)
嵌入式系統(tǒng)的分區(qū)方案通常會(huì)考慮預(yù)留升級(jí)分區(qū),emmc的文件系統(tǒng)類(lèi)型與PC的硬盤(pán)一致,操作也類(lèi)似,而針對(duì)flash存儲(chǔ)設(shè)備,主流為UBIFS和UBI的分區(qū)方案。
-
閃存
+關(guān)注
關(guān)注
16文章
1836瀏覽量
115725 -
硬盤(pán)
+關(guān)注
關(guān)注
3文章
1335瀏覽量
58146 -
UBI
+關(guān)注
關(guān)注
0文章
9瀏覽量
4174 -
rootfs
+關(guān)注
關(guān)注
0文章
20瀏覽量
4785
發(fā)布評(píng)論請(qǐng)先 登錄
集合論壇上的很多msp430壓縮為一個(gè)壓縮包,幫你們省時(shí)省力
嵌入式軟件開(kāi)發(fā)工程師培訓(xùn) 嵌入式系統(tǒng)主要特點(diǎn)
嵌入式軟件開(kāi)發(fā)工程師培訓(xùn) 嵌入式系統(tǒng)主要特點(diǎn)
嵌入式linux培訓(xùn)教程 嵌入式linux學(xué)習(xí)方法步驟
嵌入式軟件開(kāi)發(fā)工程師培訓(xùn) 嵌入式系統(tǒng)主要特點(diǎn)
嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)的最大區(qū)別是什么
嵌入式系統(tǒng)的設(shè)計(jì)方法
基于虛擬存儲(chǔ)的嵌入式存儲(chǔ)系統(tǒng)的設(shè)計(jì)方法

借力GSD/FPGA 嵌入式系統(tǒng)設(shè)計(jì)省時(shí)又省力
[學(xué)習(xí)嵌入式]嵌入式系統(tǒng)學(xué)習(xí)方法,輕松入門(mén)嵌入式
讓嵌入式開(kāi)發(fā)人員省時(shí)省力的七個(gè)技巧秘訣
細(xì)碎機(jī)軸頭磨損原來(lái)可以這樣修,省時(shí)省力
工地門(mén)口安裝揚(yáng)塵在線監(jiān)測(cè)系統(tǒng)省時(shí)省力

高科技治理環(huán)境污染,揚(yáng)塵在線監(jiān)測(cè)系統(tǒng)省時(shí)省力

評(píng)論