Android-Super分区

Posted 天津 唐秙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android-Super分区相关的知识,希望对你有一定的参考价值。

文章目录

1.super分区是什么

  super分区也叫做dynamic动态分区,动态分区是android的用户空间分区系统,在Android R版本开始引入,目的是为了解决system和vender等分区size不能动态调整的问题。例如物理分区表配置固定size后,如果软件版本对system,verdor分区size需要频繁调整时,需要修改物理分区表和重新编译gpt表,使用起来不是很便利。
  引入super动态分区之后,将system,vendor等分区一起“打包”在super分区中,物理分区表只有super,不再单独配置system,vendor等分区的配置,其中的子分区可以动态的调整大小。编译的时候,会将system,vendor等分区的信息以metadata形式记录下来,生成super.img时会根据matadata信息进行处理
  另外super分区中的子分区,也可以通过fastbootd以fastboot的方式刷入,或者使用lpunpack解压开。

2.super分区工作原理

  动态分区时使用Linux内核中的dm-linear device-mapper模块实现的,Linear是指将device,mapper设备的线性范围映射到另一个设备的线性范围
属于LVM逻辑卷管理。
  Super分区包含列出了每个子分区的名称和块范围的metadata元数据.
  在开机init的first stage第一阶段运行期间,会解析并验证metadata元数据并创建虚拟block设备来表示每个子分区,创建logical逻辑分区出来。在init启动的第一阶段会去加载和处理,采用和以前类似的AVB校验流程,验证通过后,super包含的几个分区全部采用hashtree类型做dm-verity验证。在运行过程中对访问的block数据进行dm-verity安全校验。校验通过过,分别挂载这几个逻辑子分区。

以上是关于Android-Super分区的主要内容,如果未能解决你的问题,请参考以下文章

Android-Super分区

每个子任务/分区是不是可以有一个窗口

哪个子命令可以显示分区信息

c_cpp 给定字符串s,分区s使得分区的每个子字符串都是回文。返回s的所有可能的回文分区。

当 shuffle 分区大于 200 时会发生啥(数据帧中的 spark.sql.shuffle.partitions 200(默认情况下))

MySQL 子分区