MTK Recovery image的OTA升级过程

【安卓ROM中recovery.img的主要组成和制作方法】 是Android设备中的一个重要分区映像文件,包含了用于设备恢复模式的内核和初始根文件系统。Recovery模式用于执行系统更新、恢复出厂设置、擦除数据等维护任务。以下是的主要组成部分和制作方法。主要包含两个部分:工具:必要文件:编译内核: 使用Android内核源码和适当的配置文件编译内核,生成或文件。 创建ramdisk: 准备好ramdisk目录结构,其中包含恢复模式所需的初始化脚本和工具。 编辑脚本: 这个脚本将定义启动过程中的具体步骤。 将恢复工具复制到ramdisk: 恢复模式通常使 阅读详情

本篇所分析的是MTK recovery.img自身升级流程的分析,分为四个部分

1、boot.img recovery.img 的区分

2、编译的流程,make otapackage生成 recovery-from-boot.p 和 install-recovery.sh 

3、差分包内容,正常升级boot.img

4、开机执行流程,init.rc  执行install-recovery.sh 升级recovery  

 

1、boot.img recovery.img 的区分

Ramdisk.img 虚拟内存盘会被打包到boot.img和recovery.img中(但不是同一个ramdisk.img).

ramdisk.img中比较重要的文件是init 和init.rc,其中init是system/core/init/编译而来

boot.img中ramdisk里的init.rc位于system/core/rootdir/init.rc

recovery.img中ramdisk里的init.rc位于bootable/recovery/etc/init.rc

kernel加载结束以后第一个进程是执行init

boot.img和recovery.img结构说明 今天对boot.img和recovery.img结构做了研究,这是一个十分好玩的事情,当然,在android移植和编译的过程中,也是需要有一定了解的。   Why: 其实为什么要做这个了解呢,起源是源于S-ON的问题,当然,这个是HTC的加密方式,源于硬件,如果还有什么其他的方式,这个在刷机的过程当中,了解了也是有一定帮助的。如果做了这个开关限制的,那么我们的boot.img或者recove 阅读详情

相关推荐

从安卓系统USB升级包里提取system.img、boot.img和recovery.img在内的镜像文件

如果你拿到一个USB升级包,你会发现升级包的结构基本相似。但是里面并不是直接就有包括system.img、boot.img和recovery.img在内的镜像文件。如果我们需要在Android手机上获取Magisk。提取内核(boot.img)就至关重要。当然其他镜像根据你的需要也有其他用处。这时,如果你需要这些镜像文件,怎么做呢?关注 "升级包>update.zip>payload.bin"。我们这篇的博客的目的就是从payload.bin中提取出镜像文件。

qq_33163046的博客 1万+

2024年C C++最全android P OTA (MTK)初探 —— 2、基于块,洞悉MySQL底层架构

全局搜索"hide :="的字眼,可以发现config.mk中有:hide := @,#说明所有的$(hide) xxxx语句,其实就等同于命令前加了“@”字符,即在Makefile中表示的是关闭了回显,说明Makefile在执行@后面的命令时,不回显将要执行的命令#关于recovery.img#这里要添加RAMDISK和kernel,还生成了target包中的RECOVERY目录下的base cmdline等文件。

2401_84975579的博客 484

跨平台OTA升级框架设计:兼容高通、MTK、展锐的统一方案

OTA(空中升级)技术是嵌入式与物联网设备实现远程固件更新的核心机制,其原理是通过无线网络下载并安全刷写新固件,以修复漏洞、增强功能并延长产品生命周期。该技术的核心价值在于提升设备可维护性、保障系统安全并优化用户体验。在工程实践中,面对高通(Qualcomm)、联发科(MTK)和展锐(Unisoc)等不同芯片平台的**分区布局**、底层刷写接口和启动流程的显著差异,构建统一的OTA解决方案成为关键挑战。本文聚焦于通过**平台抽象层(PAL)** 与插件化架构,将通用的升级流程、安全校验与状态管理逻辑,与各平

weixin_30698527的博客 320

跨平台OTA升级实战:高通、联发科、展锐三大芯片平台适配指南

OTA(空中下载技术)是嵌入式与物联网设备实现远程软件更新的核心技术,其原理是通过网络将更新包安全传输至设备并完成安装。这项技术的核心价值在于能够高效修复漏洞、迭代功能,而无需用户返厂,极大地降低了维护成本并提升了用户体验。在Android系统生态中,OTA的应用场景尤为广泛,涉及智能手机、智能硬件及各类物联网终端。然而,底层硬件平台的碎片化带来了巨大挑战,不同芯片厂商在启动流程、分区管理和安全验证机制上存在显著差异。本文聚焦于解决这一工程难题,深入剖析了在高通、联发科和展锐这三大主流移动平台上实现统一OT

weixin_33951761的博客 381

Android OTA差分升级实战:从签名校验到update_engine调试

Android OTA差分升级本质是基于A/B分区架构的块级镜像差异计算与AVB签名验证机制,其核心原理在于通过block-based diff生成带严格签名约束的delta payload,并由update_engine按InstallOperation序列原子化执行。技术价值体现在显著降低固件传输带宽、提升升级成功率与系统安全性;典型应用场景覆盖量产设备静默升级、recovery sideload调试及CI/CD自动化发布。本文聚焦差分包生成中target_files签名、AVB元数据处理与instal

weixin_30983965的博客 198

别再折腾环境了!Windows 11 + VSCode + CMake 3.31.4 + MinGW-w64 一键式配置指南(附常见报错解决)

本文提供Windows 11下VSCode、CMake 3.31.4和MinGW-w64的一键式配置指南,帮助开发者快速搭建高效C++开发环境。涵盖工具链选型、环境变量配置、项目初始化及常见报错解决方案,大幅提升开发效率。

weixin_28841265的博客 186

浮点数精度陷阱全解析:从IEEE 754到深度学习部署选型

在计算机数值计算中,浮点数是表示带小数数字的标准方式,但它的存储规则决定了精度和边界天生存在限制。许多开发者都曾遭遇过0.1+0.2不等于0.3的尴尬,或是模型训练中loss变成NaN的困扰,这些问题的根源往往指向IEEE 754标准中的规格化、非规格化表示及舍入规则。理解浮点数的底层原理,不仅能避开直接的比较判断陷阱,还能指导我们在不同场景下做出合理的技术选型。从C语言的printf到Python的repr,从嵌入式串口打印到深度学习中的FP32、FP16、BF16、TF32格式,浮点数知识贯穿底层开发和

weixin_34314962的博客 463

485芯片AB波形正负半周的问题探讨

      本人做的一个产品,产品的其中一个接口是RS485的,我们使用的芯片是MAX13487E。MCU是STM32F103,MCU的USART通过光耦隔离后,接到MAX13487E。因为STM32F103的VCC是3.3V的,MAX13487E的VCC是5V。      部分原理图如下,上述部分电路参考了官方的参考设计,现在测试的AB波形时候发现如下问题。1.把R10和R16改为1k,示波器C...

qq_26308521的博客 1万+

skill使用教程,从小白到大神进阶

(2)突然无法使用(NodeJS安装参考):如果正常使用中,突然发现claude命令无法启动claude-code了,可能是claude-code正在后台自动更新,等待几分钟后再尝试使用,如果还是不行,请先运行下列代码移除claude-code,注意,如果你的node安装目录不同,要替换成自己的安装目录:rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code。安装完成后,让我们启动 Claude Code,看看它长什么样。

weixin_45036829的博客 2010

【Simulink教程案例19】基于simulink的扩频通信系统建模与仿真

扩频是一种应用于数字调制信号的调制技术,可以提高传输信号的带宽。扩频通信具有抗干扰能力强,扩频增益越大,抗干扰能力越强。而且扩频通信具有很强的保密性,扩频后信号近似白噪声,功率谱密度也很低。扩频通信可用于多址通信。扩频调制有如下三个特点:① 扩频后信号的带宽远大于信号所需的带宽② 使用扩频码进行扩频调制,扩频码与信号中的数据相互独立③ 在接收端,通过将接收信号与扩频码的同步副本进行相关,实现解扩。

FPGA/MATLAB学习教程/源码/项目合作开发 2197

智能小车倒车入库功能的实现(python,cpp,ubuntu)

智能小车倒车入库功能的实现(python,cpp,ubuntu)

weixin_62135607的博客 5793

【Bug已解决】Codex CLI 报错 You‘ve hit your usage limit 解决方案

Codex CLI 密集使用时触发 You've hit your usage limit 限流报错,本质是订阅套餐额度机制在正常发挥作用。文中给出等待滚动重置、拆分大任务、主动管理上下文、升级套餐、团队排队机制等完整解决方案。

博客 1万+

“EXB文件的格式和编程“

首先,打开文件并读取文件头,然后解析文件头中的元数据信息。接下来,循环读取数据块,每次读取块头部分,解析块的大小和类型,并读取相应大小的块数据。文件头(Header):EXB文件通常包含一个文件头,用于存储关于文件的元数据信息。读取EXB文件时,首先需要解析文件头,以了解文件的属性和数据结构。总结起来,EXB文件是一种常见的二进制数据文件格式,在编程中处理EXB文件需要了解其基本结构和元数据信息。通过以上代码,您可以根据自己的需求扩展处理其他类型的数据块,或者根据EXB文件的具体规范进行解析和处理。

HackCyberX的博客 1535

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: blockimgdiff中方法分析01
下一篇: MTK8.0 9.0 驱动部分升级解析
李标标
博客等级 码龄11年 124粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值