android的recovery,fastboot和bootloader

        虽然最近,我主领的android项目重构工作,正在有条不 紊的开展当中,但是因为项目一直迭代,技术开发不能影响业务的展开。而公司的人都是干缝缝补补的活的,所以,把这个工作时间可能会拉的比较长。大概估计的是半年完成,实际肯定会少于半年。总比之前画半年的鸡蛋,好的多。

        哪怕现在公司别人由于业务少,技术就不动我,我是受不了安逸舒适的。除了思考项目的事情。。最近一段时间,也在了解和学习,Android 系统定制相关的东西。

        想定制,就是动系统层,这层,就要会系统开发了。利用编译系统源码,来修改系统应用,和framework层的东西。但是,不要太无解,如果只是做系统基本的应用开发,也是可以不从源码角度开发的,前提是,你需要有一个非常高权限系统用户的android手机。

      好了,上面,算是我以后,关于这个知识点自学过程的一个开题吧。好吧,说正经的。。也是我之前整理的。


Fastboot /Bootloader的概念是普遍性的:

大多数情况下,它们的 Fastboot/Bootloader 模式是锁定的。但是,值得称道的是,现在越来越多的厂商已渐渐向
开发的 Fastboot/Bootloader 模式过渡.

recovery:

如果没有进入fastboot,bootloader继续执行,如果又发现有特殊的按键组合,比如htc g2上是home键和开机键,则会
进入recovery模式。分析recovery.img镜像文件就会发现,它里面包含了一个kernel以及一个可执行程序recovery,以
及一些初始化文件。从某种意义来说,这就是一个小型操作系统,和正常启动进入的系统的kernel是一样的,只是init及
之后干的事情不同。
这里的kernel和我们常说的linux内核还是有差异的,linux内核是包括kernel以及调度器内存管理等除显示界面外完
整系统。而kernel只是指内核init进程启动前的那一段逻辑。
Recovery恢复时,刷机包通常放在SD卡里,所以这里刷机一般称为卡刷。

fastboot:

fastboot,它是bootloader后期进入的一个特殊阶段。可以通过数据线与电脑连接,然后在电脑上执行一些命令,如
刷系统镜像到手机上。fastboot可以理解为实现了一个简单的通信协议,接收命令并更新镜像文件,其他什么的干
不了。
须有一个PC机并且USB线要始终联着。所以这种方式称为线刷。
fastboot需要bootloader的支持,所以不是每家手机都会支持这种模式。
联想手机居然把这个阶段,叫做DroidBoot.

bootloader:

机器首先要启动,CPU 最先执行的一段程序就是 BootLoader,这和电脑上的BIOS是一个玩意儿。
BootLoader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存
空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入
式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的
加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常
都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

三方厂商自定义的一些模式:(有的是基于系统的,有的只是上面换个说法)

启动模式(normal mode)、
安全模式(safe mode)、
恢复模式(recovery mode)、
引导模式(bootloader mode)、
fastboot模式和诊断模式(diagnostic mode)。

特殊模式:

Downloading模式(俗称挖煤模式):三星安卓手机刷官方系统时使用该模式,配合电脑端odin软件进行。
FTM模式(工厂测试模式):该模式对用户而言一般可用来刷机,当然部分机型需要配合电脑端RSD软件进行。
T卡模式:中兴手机刷官方系统使用的模式。一般将系统image文件夹(文件夹内需要有image.bin文件)拷贝至SD卡中并将SD卡插入手机。
SD卡升级模式:该模式为华为刷官方系统时使用。一般将dload文件夹拷贝至SD卡中并将SD卡插入手机。自动刷入。
PS:当手机识别不到SD卡时,该模式会显示粉屏,俗称“粉屏模式”。
AP模式(或BP模式):该模式存在于部分机型中,如moto defy等,其作用等同于fastboot模式。

拿到的系统文件名称:
        镜像包 .img
        打包后的镜像包  .bin
分区名:
        BootLoader   相当去BIOS.
        recovery     简单的一个内核系统,卡刷
        boot         迷你文件系统负责挂载,LinuxKernel,负载system,cache,userdata等。
       system       常规的Android系统所在的分区,挂载在/system目录下.
        userdata     /data 用户数据分区。
        cache        缓存分区,一般用来OTA升级进入recovery前,临时存放OTA包升级的存放文件。
        sdcard

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
linux ubuntu fastboot 下载 方法1: GSI Flashing Procedure For Android-Q Fresh Launch Build(DP Enabled): Flash META Change directory to Apps path Flash below Apps and GSI image. Apps Build flashing fastboot flash persist persist.img cd secondary-boot fastboot flash boot_a boot.img (boot.img image for CTS-on-GSI, boot-debug.img for VTS testing) fastboot flash dtbo_a dtbo.img fastboot flash recovery_a recovery.img fastboot flash super super.img fastboot flash userdata userdata.img fastboot flash vbmeta_a vbmeta.img fastboot flash vbmeta_system_a vbmeta_system.img GSI Flashing steps: fastboot reboot fastboot fastboot flash system fastboot -w fastboot flashing lock fastboot reboot NOTE: Dynamic Partition mandatory for android-Q Fresh Launch devices. Device should not come out of fastboot mode between Apps flashing and GSI flashing. For Android-Q Upgraded Build or Android-P Builds: Apps and GSI image flashing: fastboot flash userdata userdata.img fastboot flash persist persist.img cd secondary-boot fastboot flash boot_a boot.img fastboot flash dtbo_a dtbo.img fastboot flash vendor_a vendor.img fastboot flash system_a fastboot --disable-verification flash vbmeta_a vbmeta.img fastboot flashing lock fastboot reboot 方法2: 这个版本刷GSI时,oem unlock的操作有更新如下: adb reboot-bootloader fastboot oem sim-allowunlock (允许解锁) fastboot flashing unlock (这里需要按 音量上键 确认) adb reboot-bootloader fastboot flash system system_xxxxxxxxxxx.img fastboot --disable-verification flash vbmeta vbmeta.img fastboot reboot 取消验证,取消AVB验证 fastboot --disable-verification flash vbmeta vbmeta.img 之后就可以通过fastboot烧录boot.img vendor.img system.img 单独烧录。 3.4 AndroidO userdebug版本刷机时禁止dm-verity AndroidO dm-verity disable flag存在于vbmeta.img(keystore分区)中;而老版本是放置在system.img分区的dm-verity metadata中。 1)在设置中打开OEM unlocking选项 2)在设置中打开USB debugging选项 3)adb reboot bootloader 4)fastboot flashing unlock和fastboot oem unlock 5)fastboot --disable-verity --disable-verification flash vbmeta vbmet
Android recovery 架构是指 Android 系统在出现故障或需要更新时,通过进入 recovery 模式,启动一个独立的系统来进行修复和更新操作的框架。它主要由以下几个部分组成: 1. Bootloader:在系统启动时,负责从存储设备中加载 Linux 内核和 ramdisk 到内存中,并启动 Linux 系统。 2. Kernel:是 Android 系统的核心部分,负责管理 CPU、内存、设备驱动等硬件资源,以及提供系统调用接口。 3. Ramdisk:是一个小型的根文件系统,包含用于启动 Android 系统的必要文件,例如 init 程序、设备驱动程序等。 4. Recovery image:是一个镜像文件,包含用于修复和更新 Android 系统的工具和程序,例如 ADB、fastbootrecovery 程序等。 5. Recovery 程序:是一个独立的系统,可以在 Android 系统无法正常启动时启动,提供修复和更新 Android 系统的功能。它主要由 recovery 二进制程序和 recovery.fstab 文件组成,可以通过 fastboot 命令将其刷入到设备的 recovery 分区中。 6. Update package:是一个压缩包,包含了 Android 系统的更新内容和相关的脚本程序,可以通过 recovery 程序进行安装。它可以是 OTA(Over The Air)升级包或完整的系统镜像文件。 通过以上部分的组合,Android recovery 架构可以实现在系统出现故障或需要更新时,通过进入 recovery 模式,启动一个独立的系统来进行修复和更新操作的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值