為什么eMMC/UFS設(shè)備分區(qū)時最后一個分區(qū)設(shè)置為userdata且其size數(shù)值隨意設(shè)置?
疑問
Android/Yocto linux eMMC/UFS塊設(shè)備分區(qū)時在XML文件中最后添加userdata分區(qū),并且其size默認(rèn)不動,即使添加分區(qū)超過剩余的設(shè)置userdata分區(qū)size?
這里所說的設(shè)置userdata分區(qū)size,(以高通平臺使用partitions.xml為例,其他的如MTK使用excel表格,展銳暫不介紹)中設(shè)置size_in_kb數(shù)據(jù)
<partition label="userdata" size_in_kb="425984" type="78AC-F50D-419B-A739-2ACCF8DA3335" bootable="false" readonly="false" filename="msm8916-usrfs.ext4" sparse="true"/>
Yocto linux & Android 系統(tǒng)中使用eMMC或者UFS作為嵌入式系統(tǒng)的存儲器件,一般兩個系統(tǒng)底層對eMMC或者UFS的管理均是采用Excel或者XML文件保存系統(tǒng)燒錄信息,使用python或perl腳本解析。
實際操作時會發(fā)現(xiàn)要求將userdata分區(qū)置于分區(qū)信息文件(xml或Excel表)的最后一行。有沒有想過一個問題:為什么這么做?曾經(jīng)作為小白,沒有將userdata分區(qū)置于最后一行導(dǎo)致燒錄的開發(fā)板變磚!那么userdata分區(qū)置于分區(qū)信息文件最后一行,在系統(tǒng)燒錄時究竟做了什么呢?userdata分區(qū)中的size_in_kb信息設(shè)置數(shù)據(jù)為什么不用管理呢?
針對Yocto linux主流使用的是ext4,Android 使用的是f2fs,都需要在源碼中實現(xiàn)resizefs!f2fs&ext4.resizefs。
另外針對yocto linux系統(tǒng)一般會在對應(yīng)的poky/meta-XXX/recipesXXX/conf/machine/include/target.inc文件中設(shè)置USERDATA_SIZE_EXT4大小,若要添加新分區(qū),需要注意新添加分區(qū)的size是否會占用USERDATA分區(qū),若占用會使得編譯后使用QFIL下載鏡像文件出現(xiàn)QFIL download failed的情況!

浙公網(wǎng)安備 33010602011771號