安卓10系统Fastboot命令的应用,将Fastboot移至用户空间教程

您所在的位置:网站首页 fastboot删除文件 安卓10系统Fastboot命令的应用,将Fastboot移至用户空间教程

安卓10系统Fastboot命令的应用,将Fastboot移至用户空间教程

2024-07-12 11:09| 来源: 网络整理| 查看: 265

一、概述 Android 10通过将fastboot从bootloader转移到用户空间,增加了对可调整大小分区的支持。此重定位使得可以将代码移动和烧录到可维护且可测试的公共位置,其中仅由HAL实现fastboot的vendor专属部分。

二、统一fastboot和recovery

由于用户空间fastboot和recovery类似,因此可以将它们合并为一个分区/二进制文件。优点包括:占用空间更少,整体分区更少,以及fastboot和recovery共享kernel和lib的能力。

要支持fastbootd,bootloader必须实现boot-fastboot的新引导控制块(BCB)命令。要进入fastbootd模式,

bootloader应将boot-fastboot写入BCB消息的命令字段,并保持BCB的恢复字段不变(以启用中断恢复任务的重启)。状态,阶段和保留字段也保持不变。在BCB命令中看到boot-fastboot后,预计bootloader将加载并引导到 recovery映像中。然后recovery会解析BCB消息并切换到fastbootd模式。

1.新增的adb指令:

命令 说明 adb reboot fastboot 在system中重启会进入fastbootd;在recovery中无需重启直接进入fastbootd。

2.新增的fastboot 命令:

命令 说明 reboot recovery 在bootloader 模式下会重启进入recovery。在 fastboot 模式无需重启即可直接进入 recovery 模式。 reboot fastboot 重启进入 fastboot 模式。 getvar is-userspace 返回 yes 表示正处于fastboot 模式,返回 no 表示正处于bootloader 模式。 getvar is-logical: 若给定分区是逻辑分区,则返回yes,否则返回no。 getvar super-partition-name 返回super分区的名称。如果super分区是 A / B 分区,则该名称包括当前slot后缀。 create-logical-partition 创建具有给定名称和大小的逻辑分区。该名称不得作为逻辑分区存在。 delete-logical-partition 删除给定的逻辑分区(有效擦除分区)。 resize-logical-partition 将逻辑分区的大小调整为新大小而不更改其内容。 update-super 合并对 super 分区元数据的更改。 如果无法进行合并,则此命令将失败。可选的“erase”参数会覆盖设备的元数据,而不是执行合并。

3.仍支持旧的fastboot指令:

命令 说明 flash [] 解锁状态下向指定分区烧录image。 erase 解锁状态下擦除指定分区。 getvar all 显示bootloader变量,如果不存在则返回error。 set_active A/B系统用于设置active slot。 reboot 重启设备。 reboot-bootloader (reboot bootloader) 重启进入bootloader模式。 三、bootloader的变更

bootloader继续支持烧录 bootloader,radio和boot/recovery分区,之后设备将引导至 fastboot(用户空间)并烧录所有其他分区。bootloader还支持以下指令:

命令 说明 download 下载image。 flash recovery /flash boot /flash bootloader 烧录boot/recovery.bootloader。 oem OEM定义的指令。

bootloader不允许烧录动态分区,会返回error,而应该在 fastbootd 中烧录分区。对于动态分区设备,fastboot 工具支持强制模式,以便在 bootloader 模式下直接烧录动态分区。例如,如果 system 是设备上的动态分区,则 fastboot –force flash 系统允许bootloader烧录分区而不是fastbootd。此强制模式旨在为工厂烧录提供灵活性,不建议开发人员使用。

四、启用 fastbootd

(1)将 fastbootd 添加到 device.mk 中的 PRODUCT_PACKAGES:

PRODUCT_PACKAGES + = fastbootd

(2)确保将 fastboot HAL,引导控制 HAL 和运行状况 HAL 打包为recovery image的一部分。(3)添加 fastbootd 所需的任何特定于设备的 sepolicy 权限。例如,fastbootd 需要对特定于设备的分区进行写访问才能烧录该分区。此外,fastboot HAL 实现还可能需要特定于设备的权限。

五、GSI的烧录

(1)在Settings模块打开Developer options,勾选OEM unlock选项;(2)执行adb reboot bootloader进入bootloader模式;(3)执行fastboot flashing unlock并根据界面提示unlock设备;(4)执行fastboot reboot-bootloader重启进入bootloader模式;(5)执行fastboot flash boot_a boot-debug.img用于VTS测试;(6)执行fastboot reboot fastboot进入fastbootd模式;(7)执行fastboot flash system_a aosp-system.img烧录Google System Image;(8)执行fastboot –disable-verification flash vbmeta_a vbmeta.img禁用AVB;(9)执行fastboot reboot bootloader重启进入bootloader模式;(10)执行fastboot -w(或fastboot flash userdata userdata.img / fastboot flash metadata meta.img)擦除用户数据;(11)执行fastboot flashing unlock锁定设备;(12)执行fastboot reboot进入Android准备测试。

注1:需要适用Android Q最新SDK中的fastboot.ext/adb.exe文件:https://www.xtdiguo.com/2380.html

注2:若GSI是ext4格式文件(可用file aosp-system.img查看),请先用img2simg(若out/hose/linux-x86/bin目录没有该文件可编译system/core/libsparse来生成)将其转换为sparse格式再烧录。

可能对你有帮助的内容:极客币获取 | 话费充值 | 下载帮助 | 刷机必看 | 阿里云代金券

文章名称:安卓10系统Fastboot命令的应用,将Fastboot移至用户空间教程

文章链接:https://www.xtdiguo.com/15346.html

免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3