文章目录

  • 1.super分区是什么
  • 2.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分区相关推荐

  1. android R启动找不到super分区问题

    总结一个android R打开super动态分区后,init第一阶段启动失败的例子,也为了自己后面看看趟过的坑. 在移植适配android R项目,主要做了如下事情: 打开BOARD_AVB_ENAB ...

  2. Android 动态分区详解(六) 动态分区的底层机制

    文章目录 1. Android 动态分区的两重含义 2. device mapper 的原理 3. linear 映射的原理 3.1 多个设备映射示例 3.2 `dmsetup create` 命令参 ...

  3. Android 动态分区详解(七) overlayfs 与 adb remount 操作

    0. 导读 最开始学习 Android 动态分区源码的时候,比较代码发现 system/core/fs_mgr 目录下多了一个名为 fs_mgr_overlayfs.cpp 的文件,一直不知道什么时候 ...

  4. Android 动态分区详解(一) 5 张图让你搞懂动态分区原理

    文章目录 0. 导读 1. 动态分区详解的背景 1.1 背景 1.2 动态分区的本质 2. Linux device mapper 驱动 3. Android 动态分区布局 3.1 动态分区布局 3. ...

  5. android 新分区 挂载,android 新增分区以及挂载方法-Go语言中文社区

    好长时间没更新我的CSDN 了,今天抽时间来重新一下,了解一点android新增分区和挂载的东西. 我是以高通平台代码为例来写的. 闲话不多说,直接上方法: 以新增kaicom分区举例: 1.在par ...

  6. Android 系统(65)---Android修改分区格式为F2FS

    Android修改分区格式为F2FS 谁人没试过犹豫,达到理想不太易 -–Beyond 本文介绍如何将Android系统的/data分区改变成F2FS格式.修改的原因是F2FS分区格式拥有更加的I/O ...

  7. Android 虚拟分区详解(三) 分区状态变化

    Android Virtual A/B 系统简称 VAB,我将其称为虚拟分区. 本系列文章基于 Android R(11) 进行分析,如果没有特别说明,均基于代码版本 android-11.0.0_r ...

  8. Android系统分区介绍

    Android系统分区介绍 hboot--系统开机引导类似电脑BIOS,这块刷错手机就会变成砖 radio--通讯模块.基带.WIFI.Bluetooth等衔接硬件的驱动软件 model分区 reco ...

  9. android动态分区AB升级,Android A/B 系统升级简介

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 来源:https://pengzhangdev.github.io/Android-AB-system-update/ ...

  10. Android 虚拟分区详解(二) 虚拟分区布局

    文章目录 0. 导读 1. Android 传统 A/B 分区和动态分区布局 2. Android 虚拟分区布局 3. 虚拟分区的思考 2.1 分区只有一套,如何实现 A/B 系统特性? 2.2 部分 ...

最新文章

  1. Linux0.11内核引导启动过程概述
  2. 【Android 启动过程】Activity 启动源码分析 ( Activity -> AMS、主线程阶段 )
  3. Dijkstra 算法
  4. 的图层类型有哪些_东莞都市领航平面设计培训班都学习哪些内容?
  5. 人生赢家!带着宝宝去面试~清华90后女学霸范楚楚加入麻省理工MIT任助理教授!...
  6. 【4747】java语言程序设计(一)2011年10月考试复习资料_全国2011年10月自考Java语言程序设计(一)试题3...
  7. mac homebrew chinese mirror
  8. 【论文研读】【医学图像】【R2UNet】Recurrent residual U-Net for medical image segmentation
  9. 微信被指监听用户,腾讯回应;谷歌意外推送 Android 11 Beta 更新;Linux 5.7 发布 | 极客头条...
  10. rust显卡要求 steam_Steam夏促游戏销量排行,Epic称暂时不要买地平线黎明时分,虚幻5引擎配置要求不高,热血无赖电影开拍,Steam夏促育碧专区...
  11. 协鑫集成等四家公司被退出欧盟MIP协议
  12. android串口方案:usb转串口 usb 转ttl
  13. 微信小程序下载pdf到本地的坑
  14. cocos creator 打包apk_Cocos Creator Android打包 apk
  15. LabView---双通道示波器(内含信号发生器)
  16. Linux Command diff 文件比较
  17. CTFHUB刷题 密码口令/默认口令
  18. 程序设计:从圆的半径求得圆的面积
  19. 一些投资理财渠道(仅供参考)
  20. javaEye上对于南京软件公司的讨论

热门文章

  1. SELinux的设置及应用举例
  2. [python] fileinput模块
  3. 编译期注解之JavaPoet
  4. html中怎么制作太阳月亮交替,CSS3 简单的地球/太阳/月亮动画
  5. C++读取和写入CSV文件,实现判断文件格式,并且特定的排序输出的实例
  6. MAC下的Sublime Text关闭自动更新提示,关闭更新检查,适用于Sublime 3和Sublime 4
  7. opengles图像处理之图片锐化处理
  8. python量化交易之 放量跌到底买入-涨1.1再卖
  9. 【图像分类】 一文读懂AlexNet
  10. UML类图关系(C++)