fastboot简介

Android提供的原生工具,主要用于替换镜像。
源码在SDK工程中,/system/core/fastboot目录下

安卓分区&镜像

见链接分区和映像--google官网

  • boot:boot 分区包含通过 mkbootimg 组合在一起的内核映像和 RAM 磁盘。为了直接刷写内核而不刷写新的 boot 分区,可以使用虚拟分区:

    • kernel:kernel 虚拟分区仅覆盖内核(zImage、zImage-dtb、Image.gz-dtb),方法是写入新的映像来覆盖旧的映像。为此,它会确定 eMMC 中现有内核映像的起始位置并将新内核映像复制到该位置。请记住,新内核映像可能会大于现有内核映像。引导加载程序可以通过移动其后的任何数据来腾出空间或放弃出错的操作。如果提供的开发内核不兼容,则可能需要使用相关的内核模块更新 dtb 分区(如果存在)、vendor 分区或 system 分区。
    • ramdisk:ramdisk 虚拟分区通过将新映像写入旧磁盘来仅覆盖 RAM 磁盘。为此,它会确定 eMMC 中现有 ramdisk.img 的起始位置并将新 RAM 磁盘映像复制到该位置。请记住,新 RAM 磁盘映像可能会大于现有 RAM 磁盘映像。引导加载程序可以通过移动其后的任何数据来腾出空间或放弃出错的操作。
  • system:system 分区主要包含 Android 框架。
  • recovery:recovery 分区用于存储在 OTA 过程中启动的恢复映像。如果设备支持 A/B 更新,则恢复映像可以是启动映像中包含的 RAM 磁盘,而不是单独的映像。
  • cache:cache 分区用于存储临时数据,如果设备使用 A/B 更新,则可以不要此分区。cache 分区不需要可从引导加载程序写入,而只需要可清空。大小取决于设备类型和 userdata 分区的可用空间。目前,50MB 至 100MB 应该没问题。
  • misc:misc 分区供恢复映像使用,存储空间不能小于 4KB。
  • userdata:userdata 分区包含用户安装的应用和数据,包括自定义数据。
  • metadata:如果设备被加密,则需要使用 metadata 分区,该分区的存储空间不能小于 16MB。
  • vendor:vendor 分区包含所有不可分发给 Android 开源项目 (AOSP) 的二进制文件。如果没有专有信息,则可以省略此分区。
  • radio:radio 分区包含无线装置映像。只有包含无线装置且在专用分区中包含无线装置专用软件的设备才需要此分区。
  • tos:tos 分区用于存储 Trusty 操作系统的二进制映像文件,仅在设备包含 Trusty 时使用。

VTS&CTS-on-GSI镜像替换

注意:以下流程适用于我司本项目产品。
前提要求
Android平台adb功能已开启
Linux pc端有adb工具、fastboot工具(配置好SDK工具,默认在platform-tools/路径下)
准备好要替换的img镜像

替换流程

adb devices    #查看待烧录设备是否adb在线,另建议只在线一台设备,方便烧录不用加 -s 参数
adb reboot fastboot    #adb重启并进入fastboot模式
fastboot devices    #查看fastboot模式下的在线设备
fastboot flashing unlock    #解锁操作
fastboot flashing unlock_critical    #解锁操作
fastboot flash vbmeta /home/root/cts_on_gsi/vbmeta.no.chain.partition.img     #烧录vbmeta分区镜像。注意:img镜像路径确保正确
fastboot erase system     #擦除system分区
fastboot flash system /home/root/cts-on-gsi/system.20190505.img     #烧录system分区镜像。注意:img镜像路径确保正确
#在以上shell程序执行结束后,执行以下命令进行设备重启
fastboot reboot

结果校验
如果出现“Select a Home app”的选择提示框则选第二项“com.android.tv.provision.DefaultActivity”--->>“JUST ONCE”按钮
若launcher界面如下,则替换成功,可进行之后的vts&cts-on-gsi测试

fastboot烧录镜像--VTS&GSI镜像替换的更多相关文章

  1. 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作

    实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一个Python数据分析开发环境的Dock ...

  2. CentOS7安装Docker,运行Nginx镜像、Centos镜像

    摘要 总体思路:yum命令直接安装Docker,下载想要的镜像并启动 1.环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2.通过yum命令直接安装,yum instal ...

  3. Mycat 镜像-创建 Docker 镜像

    将 Mycat-server 创建到镜像,使其能够进行容器化部署,我们需要创建 Dockerfile 并在文件中安装其依赖项,使用 centos 做为 base 镜像,并安装 jdk 依赖即可,因此创 ...

  4. Docker学习笔记之从镜像仓库获得镜像

    0x00 概述 之前我们说到了,Docker 与其他虚拟化软件的一处不同就是将镜像管理纳入到了功能之中.实现虚拟化只是程序能够无缝移植的一部分,而有了镜像管理,就真正取代了我们在移植过程中的繁琐操作. ...

  5. 第 3 章 镜像 - 021 - Docker 镜像小结

    镜像小结 镜像的常用操作子命令: images    显示镜像列表 history   显示镜像构建历史 commit    从容器创建新镜像 build     从 Dockerfile 构建镜像 ...

  6. 四:FAQ附录(容器交互,镜像交互,镜像导出)

    1.交互式运行容器的方法: 1>-it进入到操作系统中: 2>另开一个cmd验证: 3>这是在image之上多了一个可写的从:可以运行centos的命令做一些事(touch .yum ...

  7. Mirror--如何TSQL查看镜像状态和镜像相关存储过程

    --==================================================== --查看镜像状态 SELECT DB_NAME(database_id) AS Datab ...

  8. docker-ubuntu镜像,nginx镜像

    docker 是将程序与机器隔开,使程序不受环境影响. 安装 sudo apt-get install docker.io ## 好用的一些命令 1.停用全部运行中的容器: docker stop $ ...

  9. [How to]基于本地镜像的yum镜像源搭建

    1.简介 本文介绍如何在封闭环境(无外网)下安装离线安装本地镜像与基于本地镜像的yum镜像源. 2.环境版本交代: OS:CentOS-6.7-x86_64-minimal yum: yum-3.2. ...

随机推荐

  1. Linux系统性能测试工具(二)——内存压力测试工具memtester

    本文介绍关于Linux系统(适用于centos/ubuntu等)的内存压力测试工具-memtester.内存性能测试工具包括: 内存带宽测试工具——mbw: 内存压力测试工具——memtester: ...

  2. Mongo--04 Mongo分片集群

    目录 一.分片的概念 二. 分片工作原理 三.IP端口目录规划 1.IP端口规划 2.目录规划 四.分片集群搭建副本集步骤 1.安装软件 2.创建目录 3.创建配置文件 4.优化警告 5.启动服务 6 ...

  3. 洛谷P1879 [USACO06NOV]玉米田Corn Fields (状态压缩DP)

    题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...

  4. JVM Direct Memory

    JVM除了堆内存.栈内存,还有DirectMemory内存,DirectMemory是java nio引入的. 在JDK1.4中新加入了NIO(New INput/Output)类,引入了一种基于通道 ...

  5. kubernetes之三 使用kubectl在k8s上部署应用

    在上一篇中,我们学习了使用minikube来搭建k8s集群.k8s集群启动后,就可以在上面部署应用了.本篇,我们就来学习如何使用kubectl在k8s上部署应用. 学习之前,可以先从下面这篇博客上了解 ...

  6. 初学oracle第三天

    体系结构 Oracle 采取的是 Client/Server 架构. 3.1 Client   3.1.1 Sqlplus 这是一个轻量级的功能强大的客户端, 是 dba 必须掌握的工具. 我们可以配 ...

  7. 关于web前端性能优化问题

    好久没有来博客写随笔了,可能是懒了吧,哈哈, 最近很想整理一篇关于前端性能优化的问题,毕竟能提高网站的观赏性对吧.提升网站性能,提升用户体验 那 什么是web性能优化? 可以这么理解:从用户访问资源到 ...

  8. java Collections.binarySearch 用法

    package testCollections; import java.util.ArrayList;import java.util.Collections;import java.util.Co ...

  9. JavaScript输出

    JavaScript不提供任何的内建或是打印方式 JavaScript的显示方案主要有以下四种: window.alert()  写入警告框 document.write()  写入 HTML 输出 ...

  10. [luogu]P3939 数颜色[二分]

    [luogu]P3939 数颜色 题目描述 小 C 的兔子不是雪白的,而是五彩缤纷的.每只兔子都有一种颜色,不同的兔子可能有 相同的颜色.小 C 把她标号从 1 到 n 的 n 只兔子排成长长的一排, ...