Android 分區(qū)查看 emcc 7.x 8.x

一、要確定有多少個(gè)分區(qū)?

詳細(xì)解析:

major 表示主設(shè)備號(hào)?

minor 表示次設(shè)備號(hào)?

#blocks 表示的是block的數(shù)目?

name 是指的設(shè)備名稱

例如:

major 主設(shè)備號(hào),比如一個(gè)U盤有3個(gè)分區(qū),主設(shè)備名為sda,major為8,分區(qū)的major也為8 (可能所有的U盤插進(jìn)來,major都是8),minor則為分區(qū)號(hào),sda1,sda2,minor值為1 ,2

zram swap 主要原理就是從內(nèi)存分配一塊區(qū)域出來用作 swap 分區(qū)。如果內(nèi)存空間不夠時(shí),不是把應(yīng)用程序殺掉,而是把應(yīng)用程序所占用的內(nèi)存數(shù)據(jù)復(fù)制到 swap 分區(qū),等切換回來的時(shí)候就可以直接把這部分?jǐn)?shù)據(jù)恢復(fù)到內(nèi)存當(dāng)中,節(jié)省重新開啟所需的時(shí)間。

而被放到 swap 分區(qū)的應(yīng)用程序,所占用的內(nèi)存都是被壓縮過的。

注:

config中均是我司內(nèi)部有測(cè)試過的,如無特殊需求,建議按照default設(shè)定,因?yàn)樵O(shè)置太大的swap ,會(huì)導(dǎo)致可以直接使用的內(nèi)存減少,這樣就會(huì)間接增加壓縮,解壓縮對(duì)CPU的消耗,當(dāng)然這個(gè)設(shè)置較大,可以緩存更多應(yīng)用在內(nèi)存,若設(shè)置較少,可用內(nèi)存較多,但是A-go的版本本身的內(nèi)存并不大,設(shè)置較少,會(huì)使緩沖的應(yīng)用較少,這樣每次啟動(dòng)也會(huì)延長(zhǎng)時(shí)間

USRDATA分區(qū)就是任何用戶都可以讀寫的分區(qū),不可設(shè)置大小,大小等于emmc總?cè)萘繙p去其他分區(qū)的大小。

mmcblk0 為 eMMC 的塊設(shè)備,也相當(dāng)于真實(shí)內(nèi)部存儲(chǔ)總?cè)萘?/p>

mmcblk0boot0 和 mmcblk0boot1 對(duì)應(yīng)兩個(gè) Boot Area Partitions,這兩個(gè)區(qū)域在存儲(chǔ)的穩(wěn)定性、可靠性及擦除次數(shù)上都遠(yuǎn)比UDA要好 ,所以經(jīng)常放一些關(guān)鍵數(shù)據(jù)

mmcblk0rpmb 則為 RPMB Partition,保護(hù)性存儲(chǔ),是用來給系統(tǒng)存放一些特殊的、需要進(jìn)行訪問授權(quán)的數(shù)據(jù)(指紋,安全支付)

mmcblk0px 為 UDA 劃分出來的 SW Partitions,AP及用戶可以進(jìn)行讀寫存儲(chǔ)的區(qū)域,通常其大小為整塊EMMC表示大小的93%左右

注:

1k-blocks=1024B

二、分區(qū)對(duì)應(yīng)的別名?

也可以到源碼里面獲取這些信息:

mtk方案:

out\target\product\k39tv1_64_bsp\recovery\root\etc

recovery.fstab

三、主要的分區(qū)是?

四、怎么修改?

8.x MTK

eg:

alps/device/mediatekprojects/$project/BoardConfig.mk中設(shè)定:

BOARD_MTK_SYSTEM_SIZE_KB := 改成你需要的

BOARD_MTK_VENDOR_SIZE_KB := 307200

BOARD_MTK_CACHE_SIZE_KB := 114688

8.x sprd

eg:

device/sprd/pike2/sp7731e_1h10/BoardConfig.mk中定義:

BOARD_VENDORIMAGE_PARTITION_SIZE :=314572800

BOARD_CACHEIMAGE_PARTITION_SIZE := 104857600

BOARD_SYSTEMIMAGE_PARTITION_SIZE := 改成你需要的--待確定,修改如下:

五、附件

六、知識(shí)補(bǔ)充:

swap功能

swap 分區(qū)

https://blog.csdn.net/fanmengke_im/article/details/28389495

單個(gè)手機(jī)自定義

https://blog.csdn.net/u011109881/article/details/73694700

打開關(guān)閉swap

https://blog.csdn.net/Extreme_fallen/article/details/84322475

解析swap

https://blog.csdn.net/hiyun9/article/details/51967742

adb shell cat /proc/swaps ---對(duì)應(yīng)的swaps分區(qū)

mtk8.1 關(guān)閉swap

echo 0 > proc/sys/vm/swaappiness

echo 0 > /sys/fs/cgroup/memory/sw/memory.swappiness

查看swap功能是否開啟?

adb shell cat /proc/meminfo

查看SwapTotal的值是否為0,0代表關(guān)閉

linux查看磁盤及文件大小:

du -h

du -sh

---文件大小

df -h

---磁盤大小

free -m

https://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html

CTS要求

https://source.android.com/compatibility/cdd

https://source.android.com/compatibility/android-cdd.pdf

vendor.img

http://gityuan.com/2018/04/08/android_p/

為什么emmc總量大于實(shí)際設(shè)備中顯示的大小?

1.emmc存儲(chǔ)中有壞死塊

2.8G的計(jì)算方式不一致

8G=8*1000MB=8*1000*1000KB=8*1000*1000*1000B

而我們計(jì)算機(jī)或手機(jī)的計(jì)算方式為:

8G=8*1024MB=8*1024*1024KB=8*1024*1024*1024B

3.本身存儲(chǔ)了部分軟件,占了部分空間

參考學(xué)習(xí)

https://blog.csdn.net/roland_sun/article/details/50969958

https://www.cnblogs.com/xiaolei-kaiyuan/p/5462436.html

https://blog.csdn.net/tianshiyalin/article/details/37775057

https://blog.csdn.net/u013686019/article/details/66472291

https://linux.codingbelief.com/zh/storage/flash_memory/

https://blog.csdn.net/u014645605/article/details/52061034

https://blog.csdn.net/zhouzhenhe2008/article/details/72943314?utm_source=blogxgwz3

http://www.lxweimin.com/p/33335b7cc6bb

mtk online中相關(guān)資料

[FAQ06257]?Flash上新建分區(qū)的大小限定

內(nèi)容?(2014-09-10)

目前的分區(qū)類型有如下兩種:Rawdata和文件系統(tǒng),文件系統(tǒng)的類型與Flash類型相關(guān),Nand Flash上的文件系統(tǒng)為Yaffs2;Emmc上的文件系統(tǒng)為Ext4。


Rawdata:至少1*Block Size;

Yaffs2: 至少9*Block Size;

Ext4:至少5MB


目前常見的Nand Flash上,Block Size一般為128KB和256KB。


另外需要注意一點(diǎn),新建分區(qū)的start address和size必須是Block align的。

[FAQ06165]?[NVRAM][SIM_ME_LOCK]protect_f和protect_s分區(qū)的作用是什么?

內(nèi)容?(2017-07-07)

[Description]

protect_f和protect_s分區(qū)的作用是什么?


[Solution]

在沒有Protect_s和Protect_f分區(qū)之前,SIM ME LOCK數(shù)據(jù)存在USER DATA分區(qū)內(nèi),詳細(xì)路徑為/data/nvram/md/NVRAM/IMPORTANT。

當(dāng)恢復(fù)出廠設(shè)置時(shí),會(huì)將/data/nvram/md/下的文件全部清除,其后開機(jī)時(shí)會(huì)將NVRAM BIN Region中備份的數(shù)據(jù)recovery到/data/nvram/md/下。

如NVRAM BIN REGION中數(shù)據(jù)為空,則會(huì)按照默認(rèn)值生成SIM ME LOCK數(shù)據(jù)。

如NVRAM BIN REGION中數(shù)據(jù)不為空,則會(huì)將SIM ME LOCK數(shù)據(jù)恢復(fù)為NVRAM BIN REGION保存的狀態(tài)。

針對(duì)case 2,由于NVRAM BIN REGION中保存的狀態(tài)并不總是同恢復(fù)出廠之前/data/nvram/md/NVRAM/IMPORTANT下的SIM ME LOCK數(shù)據(jù)狀態(tài)一致,因此可能無法滿足SML?的更新一致性要求。

為了對(duì)SML數(shù)據(jù)進(jìn)行持久化保存以及更新一致性的目的,我們將SML數(shù)據(jù)移入Protect_s和Protect_f分區(qū)。

Protect_s和Protect_f分區(qū)的特點(diǎn)有:

Download的時(shí)候若要format USERDATA分區(qū)時(shí),不會(huì)format Protect_s和Protect_f。

恢復(fù)出廠設(shè)置時(shí),也不會(huì)清除 Protect_s和Protect_f。但若此時(shí)BIN Region中無內(nèi)容,開機(jī)時(shí)會(huì)判斷出USERDATA分區(qū)中/data/nvram/md不存在且BIN Region中無內(nèi)容,進(jìn)而斷定是第一次開機(jī)從而根據(jù)默認(rèn)值生成SIM ME LOCK。

[FAQ04658]?【partition】android\cache\userdata三個(gè)partition大小設(shè)定

內(nèi)容?(2013-01-03)

[DESCRIPTION]

在6589,eMMC中,JB的android\cache\userdata三個(gè)partition大小設(shè)定

[SOLUTION]

(1)android分區(qū):650M

????? a,預(yù)留更大的空間來安裝apk

????? b,如果未來不需要upgrade,可以適當(dāng)縮寫這個(gè)分區(qū)的大小

???? c,建議這個(gè)分區(qū)不要小于512M。

(2)cache分區(qū):126M

????? a,這個(gè)分區(qū)的大小大于等于100M,以滿足google的CDD測(cè)試

????? b,F(xiàn)OTA升級(jí)的時(shí)候會(huì)用到cache分區(qū)

(3)userdata分區(qū):1024M

????? a,至少是350M,以滿足google的CDD測(cè)試

????? b,可以給這個(gè)分區(qū)預(yù)置更大的空間來以便user安裝更多的apk

????? c,F(xiàn)OTA升級(jí)的時(shí)使用這個(gè)分區(qū)來download

[FAQ21281]?android P分區(qū)表中odmdtbo與dtbo分區(qū)的說明

內(nèi)容?(2018-10-18)

[DESCRIPTION]


Android O版本odmdtbo.img,在Android P版本改名成dtbo.img。


雖然android P分區(qū)表中可以同時(shí)看到odmdtbo與dtbo分區(qū),但實(shí)際上,ptgen在build生成的MTxxxx_Android_scatter.txt中,僅會(huì)包含其中一個(gè)分區(qū)。



[SOLUTION]

P版本有一個(gè)宏開關(guān):?MTK_DTBO_UPGRADE_FROM_ANDROID_O,配置路徑:

/device/mediatekprojects/<your_project>/ProjectConfig.mk


1. 對(duì)于需要OTA?(O to P)升級(jí)到P版本的Project,分區(qū)layout必須與O版本完全一致,因此,請(qǐng)配置:

? ? ??MTK_DTBO_UPGRADE_FROM_ANDROID_O?=?yes

? ?此時(shí)build會(huì)生成odmdtbo.img,對(duì)應(yīng)下載到odmdtbo分區(qū)。



2. 對(duì)于P版本新開的Project,請(qǐng)配置:

? ? ??MTK_DTBO_UPGRADE_FROM_ANDROID_O?=?no

? ?此時(shí)build會(huì)生成dtbo.img,對(duì)應(yīng)下載到dtbo分區(qū)。



[Related Information]

1.?FAQ21246?Android P dtbo?

2. OTA?(O to P)升級(jí),還會(huì)涉及其它修改,請(qǐng)參考:

? ? 《Android OTA SDCARD update》,重點(diǎn)看OTA(O to P)相關(guān)部分。

3. Google關(guān)于dtbo的說明:

? ? https://source.android.com/devices/architecture/dto/partitions


[FAQ03559]?[Storage]MTK platform partition meaning

Pre-loader

Pre-loader image

Handles all the download and secure boot procedure?

?????? DSP_BL

?DSP Boot Loader

????????MBR、EBR1、EBR2

?Ext4 file system partition index table

???????PMT

?Partition management table

???????NvRam

Stores the hardware related information, such as calibration data, MAC address, IMEI?…?etc

???????SECCFG and SECSTATIC

Reserved for the security platform used

??? protect1 or protect_f

store SIM LOCK

?? ?protect2 or protect_s

backup SIM LOCK

?? ?pgpt

Partition management table, compared with MBR

?? ?sgpt

backup of pgpt

?? ?oemkeystore?and keystore

image authentication key for verified boot, not used yet

?? ?tee1

Trusted Excution Environment(https://www.trustonic.com/technology/trustzone-and-tee)

?? ?tee2

backup of tee1

?? ??U-boot/LK

?Second loader image

Handles most hardware initializations and bring-up entire Linux kernel

?? ??Boot image

Linux kernel image and it's root file system

?????Recovery

Recovery kernel image and it's?root file system

Handles all the system recovery and firmware update functionalities

????SEC_RO or SECRO

Reserved for the security platform used

?????Misc

Used for the recovery procedure (power loss)

?????Logo

?Boot-up logo image

?????EXPDB

?Store Exception database

?????System

?Android system image

?????Cache

?For? Android internal used

?Store Android internal cache data or web cache data

????User data

Used for Android system to store user data such as user contacts, settings, installed applications?…?etc

?????FAT/intsd

Internal sdcard on emmc

??????OTP

Otp(one time program) area on emmc

???flashinfo

flash tool download information

?????BMTPOOL

Handles Bad Block Management(nandflash used and reserved on emmc)

?? PARA

save parameter for recovery

???FRP

factory reset for protect , used for stolen phones

?? NVDATA

store data in data/nvram/

? ?PROINFO

a nvram partition, store one struct default, can be added

? ?md1img, md1dsp,md1arm7, md3img

For Android M, MD image have switched to MD standalone partition, all modem images will be load from the partition: md1img, md1dsp, md1arm7 and md3img

?? scp1,scp2

system control processor, used for recovery fail

???lk1,lk2

used for?the case?of update lk throught OTA?fail

?? persist

?store data which will be stable for a long time

?? metadata

store master key for data encryption

?? nvcfg

nvram config, controlled by MTK_NVCONFIG_PARTITION_SUPPORT, not used yet

?? custom

customization partition, controlled by MTK_CIP_SUPPORT

?? efuse

download BB chip's efuse

?? ppl

Privacy protection lock,used for mobile phone antitheft

[FAQ20591]?關(guān)于Android Go 版本userdata 分區(qū)size限定說明

內(nèi)容?(2018-01-18)

[DESCRIPTION]


?根據(jù)google釋放的Android Go 文檔《GMS_Go_Requirements.pdf》中Disk Space Requirements章節(jié)的說明,Android Go版本,需要根據(jù)emmc size做調(diào)整,userdata分區(qū)至少打到如下size限定要求,來滿足終端用戶的使用體驗(yàn)需求。




[SOLUTION]


需要特別注意上面的說明,GB單位是以1000位base計(jì)算的,不是1024 base,


以8GB emmc為例,要求開機(jī)后,adb shell df 查到的data分區(qū)1k-blocks的數(shù)值*1024之后>= 5500000000即可

也就是 data分區(qū)的total size > 5500000000 bytes,約5.1 GB就可以滿足google要求


這部分我們有跟google 確認(rèn)過,按上面理解配置即可。

針對(duì)google在A-Go上userdata分區(qū)這部分限定,按O版本原生的配置無法達(dá)到google的要求,


我們建議在BoardConfig.mk中,按如下大小設(shè)定,這樣可以滿足google需求,且不影響后續(xù)升級(jí)及軟件基本功能


alps/device/mediatekprojects/$project/BoardConfig.mk中設(shè)定:


BOARD_MTK_SYSTEM_SIZE_KB := 1024000

BOARD_MTK_VENDOR_SIZE_KB := 307200

BOARD_MTK_CACHE_SIZE_KB := 114688


修改后如有相關(guān)問題,請(qǐng)?zhí)醗servcie支持。

[FAQ10389]?如何關(guān)閉 zram/swap功能

也可以cat /proc/meminfo 里面的swap相關(guān)欄位為0

[FAQ09456]?zram(內(nèi)存壓縮)介紹

內(nèi)容?(2015-10-08)

下面是對(duì)Zram(內(nèi)存壓縮)一個(gè)簡(jiǎn)單介紹:

1. zram 又稱內(nèi)存壓縮,Linux kernel會(huì)把不常用的內(nèi)存進(jìn)行壓縮,以換出更多的內(nèi)存供系統(tǒng)使用

??? -- 平時(shí)空閑時(shí)候會(huì)做壓縮,以備不時(shí)之需

??? --? kernel 申請(qǐng)不到內(nèi)存,會(huì)觸發(fā)壓縮機(jī)制


2. 只有user process的內(nèi)存可被壓縮


3. 壓縮是有成本的,會(huì)影響performance

??? -- 通常,launch app的時(shí)候會(huì)受影響

??? -- 代碼執(zhí)行中,突然要大量?jī)?nèi)存的時(shí)候也會(huì)受到影響


4. 在LCA/non-LCA的項(xiàng)目都有可能Enable,目前為止只有72&82&92項(xiàng)目上面支持,其它暫不支持


若有更細(xì)節(jié)問題,可提e-service與MTK討論

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,481評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評(píng)論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,697評(píng)論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,182評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,406評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,933評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,772評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,973評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,209評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評(píng)論 1 285
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,644評(píng)論 3 391
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,953評(píng)論 2 373

推薦閱讀更多精彩內(nèi)容