Android 分区查看 emcc 7.x 8.x

一、要确定有多少个分区?

详细解析:

major 表示主设备号 

minor 表示次设备号 

#blocks 表示的是block的数目 

name 是指的设备名称

例如:

major 主设备号,比如一个U盘有3个分区,主设备名为sda,major为8,分区的major也为8 (可能所有的U盘插进来,major都是8),minor则为分区号,sda1,sda2,minor值为1 ,2

zram swap 主要原理就是从内存分配一块区域出来用作 swap 分区。如果内存空间不够时,不是把应用程序杀掉,而是把应用程序所占用的内存数据复制到 swap 分区,等切换回来的时候就可以直接把这部分数据恢复到内存当中,节省重新开启所需的时间。

而被放到 swap 分区的应用程序,所占用的内存都是被压缩过的。

注:

config中均是我司内部有测试过的,如无特殊需求,建议按照default设定,因为设置太大的swap ,会导致可以直接使用的内存减少,这样就会间接增加压缩,解压缩对CPU的消耗,当然这个设置较大,可以缓存更多应用在内存,若设置较少,可用内存较多,但是A-go的版本本身的内存并不大,设置较少,会使缓冲的应用较少,这样每次启动也会延长时间

USRDATA分区就是任何用户都可以读写的分区,不可设置大小,大小等于emmc总容量减去其他分区的大小。

mmcblk0 为 eMMC 的块设备,也相当于真实内部存储总容量

mmcblk0boot0 和 mmcblk0boot1 对应两个 Boot Area Partitions,这两个区域在存储的稳定性、可靠性及擦除次数上都远比UDA要好 ,所以经常放一些关键数据

mmcblk0rpmb 则为 RPMB Partition,保护性存储,是用来给系统存放一些特殊的、需要进行访问授权的数据(指纹,安全支付)

mmcblk0px 为 UDA 划分出来的 SW Partitions,AP及用户可以进行读写存储的区域,通常其大小为整块EMMC表示大小的93%左右

注:

1k-blocks=1024B

二、分区对应的别名?

也可以到源码里面获取这些信息:

mtk方案:

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

recovery.fstab

三、主要的分区是?

四、怎么修改?

8.x MTK

eg:

alps/device/mediatekprojects/$project/BoardConfig.mk中设定:

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 := 改成你需要的--待确定,修改如下:

五、附件

六、知识补充:

swap功能

swap 分区

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

单个手机自定义

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

打开关闭swap

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

解析swap

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

adb shell cat /proc/swaps ---对应的swaps分区

mtk8.1 关闭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代表关闭

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总量大于实际设备中显示的大小?

1.emmc存储中有坏死块

2.8G的计算方式不一致

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

而我们计算机或手机的计算方式为:

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

3.本身存储了部分软件,占了部分空间

参考学习

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

https://www.jianshu.com/p/33335b7cc6bb

mtk online中相关资料

[FAQ06257] Flash上新建分区的大小限定

内容 (2014-09-10)

目前的分区类型有如下两种:Rawdata和文件系统,文件系统的类型与Flash类型相关,Nand Flash上的文件系统为Yaffs2;Emmc上的文件系统为Ext4。


Rawdata:至少1*Block Size;

Yaffs2: 至少9*Block Size;

Ext4:至少5MB


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


另外需要注意一点,新建分区的start address和size必须是Block align的。

[FAQ06165] [NVRAM][SIM_ME_LOCK]protect_f和protect_s分区的作用是什么?

内容 (2017-07-07)

[Description]

protect_f和protect_s分区的作用是什么?


[Solution]

在没有Protect_s和Protect_f分区之前,SIM ME LOCK数据存在USER DATA分区内,详细路径为/data/nvram/md/NVRAM/IMPORTANT。

当恢复出厂设置时,会将/data/nvram/md/下的文件全部清除,其后开机时会将NVRAM BIN Region中备份的数据recovery到/data/nvram/md/下。

如NVRAM BIN REGION中数据为空,则会按照默认值生成SIM ME LOCK数据。

如NVRAM BIN REGION中数据不为空,则会将SIM ME LOCK数据恢复为NVRAM BIN REGION保存的状态。

针对case 2,由于NVRAM BIN REGION中保存的状态并不总是同恢复出厂之前/data/nvram/md/NVRAM/IMPORTANT下的SIM ME LOCK数据状态一致,因此可能无法满足SML 的更新一致性要求。

为了对SML数据进行持久化保存以及更新一致性的目的,我们将SML数据移入Protect_s和Protect_f分区。

Protect_s和Protect_f分区的特点有:

Download的时候若要format USERDATA分区时,不会format Protect_s和Protect_f。

恢复出厂设置时,也不会清除 Protect_s和Protect_f。但若此时BIN Region中无内容,开机时会判断出USERDATA分区中/data/nvram/md不存在且BIN Region中无内容,进而断定是第一次开机从而根据默认值生成SIM ME LOCK。

[FAQ04658] 【partition】android\cache\userdata三个partition大小设定

内容 (2013-01-03)

[DESCRIPTION]

在6589,eMMC中,JB的android\cache\userdata三个partition大小设定

[SOLUTION]

(1)android分区:650M

      a,预留更大的空间来安装apk

      b,如果未来不需要upgrade,可以适当缩写这个分区的大小

     c,建议这个分区不要小于512M。

(2)cache分区:126M

      a,这个分区的大小大于等于100M,以满足google的CDD测试

      b,FOTA升级的时候会用到cache分区

(3)userdata分区:1024M

      a,至少是350M,以满足google的CDD测试

      b,可以给这个分区预置更大的空间来以便user安装更多的apk

      c,FOTA升级的时使用这个分区来download

[FAQ21281] android P分区表中odmdtbo与dtbo分区的说明

内容 (2018-10-18)

[DESCRIPTION]


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


虽然android P分区表中可以同时看到odmdtbo与dtbo分区,但实际上,ptgen在build生成的MTxxxx_Android_scatter.txt中,仅会包含其中一个分区。



[SOLUTION]

P版本有一个宏开关: MTK_DTBO_UPGRADE_FROM_ANDROID_O,配置路径:

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


1. 对于需要OTA (O to P)升级到P版本的Project,分区layout必须与O版本完全一致,因此,请配置:

      MTK_DTBO_UPGRADE_FROM_ANDROID_O = yes

   此时build会生成odmdtbo.img,对应下载到odmdtbo分区。



2. 对于P版本新开的Project,请配置:

      MTK_DTBO_UPGRADE_FROM_ANDROID_O = no

   此时build会生成dtbo.img,对应下载到dtbo分区。



[Related Information]

1. FAQ21246 Android P dtbo 

2. OTA (O to P)升级,还会涉及其它修改,请参考:

    《Android OTA SDCARD update》,重点看OTA(O to P)相关部分。

3. Google关于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] 关于Android Go 版本userdata 分区size限定说明

内容 (2018-01-18)

[DESCRIPTION]


 根据google释放的Android Go 文档《GMS_Go_Requirements.pdf》中Disk Space Requirements章节的说明,Android Go版本,需要根据emmc size做调整,userdata分区至少打到如下size限定要求,来满足终端用户的使用体验需求。




[SOLUTION]


需要特别注意上面的说明,GB单位是以1000位base计算的,不是1024 base,


以8GB emmc为例,要求开机后,adb shell df 查到的data分区1k-blocks的数值*1024之后>= 5500000000即可

也就是 data分区的total size > 5500000000 bytes,约5.1 GB就可以满足google要求


这部分我们有跟google 确认过,按上面理解配置即可。

针对google在A-Go上userdata分区这部分限定,按O版本原生的配置无法达到google的要求,


我们建议在BoardConfig.mk中,按如下大小设定,这样可以满足google需求,且不影响后续升级及软件基本功能


alps/device/mediatekprojects/$project/BoardConfig.mk中设定:


BOARD_MTK_SYSTEM_SIZE_KB := 1024000

BOARD_MTK_VENDOR_SIZE_KB := 307200

BOARD_MTK_CACHE_SIZE_KB := 114688


修改后如有相关问题,请提eservcie支持。

[FAQ10389] 如何关闭 zram/swap功能

也可以cat /proc/meminfo 里面的swap相关栏位为0

[FAQ09456] zram(内存压缩)介绍

内容 (2015-10-08)

下面是对Zram(内存压缩)一个简单介绍:

1. zram 又称内存压缩,Linux kernel会把不常用的内存进行压缩,以换出更多的内存供系统使用

    -- 平时空闲时候会做压缩,以备不时之需

    --  kernel 申请不到内存,会触发压缩机制


2. 只有user process的内存可被压缩


3. 压缩是有成本的,会影响performance

    -- 通常,launch app的时候会受影响

    -- 代码执行中,突然要大量内存的时候也会受到影响


4. 在LCA/non-LCA的项目都有可能Enable,目前为止只有72&82&92项目上面支持,其它暂不支持


若有更细节问题,可提e-service与MTK讨论

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,392评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,258评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,417评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,992评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,930评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,199评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,652评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,327评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,463评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,382评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,432评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,118评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,704评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,787评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,999评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,476评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,057评论 2 341

推荐阅读更多精彩内容