MTK 9.0打开AB升级宏控

修改MTK平台Android P系统支持系统A/B分区升级 文章目录MTK平台Android_P系统A/B升级至生成系统image一、device目录下的修改二、kernel 目录下的修改三、lk目录下的修改四、preloader目录下的修改五、修改img分区大小六、Android A/B System OTA分析 MTK平台Android_P系统A/B升级至生成系统image Platform: MT6739 OS: Android 9.0 MTK 平台... 阅读详情

找到了一份MTKonline的文档

具体的打开方法只是打开了MTK控制的宏开关,我们只需要按照对应的目录和文件添加进去,MTK_AB_OTA_UPDATE只是在原声的AB_OTA_UPDATE又嵌套了一层控制,不过在编译的时候遇到了两个问题

编译错误一:

这个问题的来源是因为disable build cache partition没有加到对应的boardconfig.mk文件中,AB升级是没有cache分区的,device/mediateksample/k39tv1_64_bsp,加到对应宏后得到解决

编译问题二:

出现这个问题后,一开始一直没有什么头绪,以为是有些平台的kernel-4.4不支持ab升级

还是老老实实按错误进行排查

check-kernel-dotconfig 执行这一步报错了

这个是在kernel-4.4/android.mk中的

PRIVATE_COMMAND := $(if $(wildcard device/mediatek/build/build/tools/check_kernel_config.py),$(if $(filter yes,$(DISABLE_MTK_CONFIG_CHECK)),-)python device/mediatek/build/build/tools/check_kernel_config.py -c $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk -k $(TARGET_KERNEL_CONFIG) -p $(MTK_PROJECT_NAME))

 

对照报错的话确实时这一段

/bin/bash -c "python device/mediatek/build/build/tools/check_kernel_config.py -c device/mediateksample/k39tv1_64_bsp/ProjectConfig.mk -k /home/adups/code/s219_ab/out/target/product/k39tv1_64_bsp/obj/KERNEL_OBJ/.config -p k39tv1_64_bsp"

Kconfig Setting: is not set

ProjectConfig Setting: yes

 

这段的意思其实时比对的ProjectConfig.mk 和 .config文件,也就是TARGET_KERNEL_CONFIG

kenv.mk 中定义了TARGET_KERNEL_CONFIG的路径和名称

TARGET_KERNEL_CONFIG := $(KERNEL_OUT)/.config

androd.mk 中定义了TARGET_KERNEL_CONFIG的生成

现在我们进入out/target/product/k39tv1_64_bsp/obj/KERNEL_OBJ/.config看下具提内容

里面是kernel中所有的CONFIG 信息

# CONFIG_MTK_AB_OTA_UPDATER is not set相当于没有添加进去,到这一步其实已经有些猜想了,虽然我们在kernel中确实加了宏,但是没有编译到配置表中

这里我前期先做了两个测试:

测试一:

强行改掉了.config中的信息

改为CONFIG_MTK_AB_OTA_UPDATER = y

发现可以编译通过,而且编译完做测试发现,可以升级成功,那基本可以确认问题了,kernel 宏控制的位置我们还需要继续查询添加

测试二:

drivers/misc/mediatek/cmo/Kconfig中包含一句

config MTK_AB_OTA_UPDATER

bool "Support Android A/B system updates"

default n

这里我改成default y后,发现编译也是正常的,不过这里应该是主控开关,我们打开这里,相当于所有项目都时AB了

 

最后我只需要确认

arch/arm64/configs/k39tv1_64_bsp_debug_defconfig和arch/arm64/configs/k39tv1_64_bsp_defconfig

宏控添加的位置就可以了,

其实最初这两个我已经加过CONFIG_MTK_AB_OTA_UPDATER = y,随后我找了一份测试过AB的代码对比的时候把位置换了下就可以了,

这个问题我暂时没有查到原因,宏控位置的改变,可能有什么编译的地方需要详细确认,不过对于ab调试部分,属于小问题,我们可以先在代码上对于我们想要处理的问题进行验证

MTK分区之(二)单分区、AB分区、动态分区及virtualAB分区 二、单分区、AB分区、动态分区及virtualAB分区 这里把单分区、AB分区、动态分区及virtualAB分区放在一起说明一下,virtualAB是安卓R新特性会相对详细说明。 (一)单分区——>AB分区 单分区,我之前讲的那个MTK分区布局图就是单分区的 可以看到单分区在EMMC的USER区域是没有备份的,所以比如lk所在的EMMC区域发生了坏块或者被用户无意修改损坏,整个系统就启动不了。 怎么解决这个问题呢? 答:做备份啊,如果我EMMC空间足够,而我备份一下重要的分区: 阅读详情

相关推荐

Android14 OTA升级

因Vendor Freeze的缘故,若开启Non-AB OTA, 则会遇到交叉编译vendor和system的增量升级包时需要检查而导致编译失败,从而无法做到增量升级包升级。

Framework-coder的博客 1351

MTK AB分区修改

MTK AB分区修改

xuyewen288的博客 2249

anyproxy批量自动采集微信公众号文章

我从2014年就开始做微信公众号内容的批量采集,最开始的目的是为了做一个html5的垃圾内容网站。当时垃圾站采集到的微信公众号的内容很容易在公众号里面传播。当时批量采集特别好做,采集入口是公众号的历史消息页。这个入口到现在也是一样,只不过越来越难采集了。采集的方式也更新换代了好多个版本。后来在2015年html5垃圾站不做了,转向将采集目标定位在本地新闻资讯类公众号,前端显示做成了app。所以就形

li_mancheng的博客 7085

MT8768配置MTK_WAPI_SUPPORT=n 导致编译失败

错误信息: CONFIG_MTK_WAPI_SUPPORT not sync with MTK_WAPI_SUPPORT in ProjectConfig.mk [ 4% 6096/123160] Notice file: external/android-clat/NOTICE – out/target/product/tb8768p1_64_bsp/obj/NOTICE_FILES/src/...

u011221887的博客 3254

安卓TV流媒体终端轻量适配方案:基于OMX硬解的老旧设备重生实践

流媒体播放器是智能终端内容呈现的核心组件,其性能表现高度依赖底层解码架构与硬件加速能力。在Android TV生态中,MediaCodec作为标准多媒体接口,需结合芯片厂商提供的OMX IL组件实现高效H.264/H.265硬解;而ExoPlayer等高级封装框架虽具备跨平台优势,却常因SoC碎片化导致软解fallback、Z-order冲突与电源管理异常。本方案聚焦低算力终端(如Amlogic S905X2、RK3328)的真实部署瓶颈,通过精简内核、绕过Stagefright框架、强制指定vendor

weixin_34248023的博客 394

安卓TV流媒体终端适配:低算力设备1080p稳定播放方案

流媒体播放在智能电视等嵌入式终端上常面临卡顿、首屏慢、花屏等问题,其本质是播放器调度策略与硬件资源(如内存、解码能力、CPU负载)不匹配所致。基于HLS/DASH协议的流媒体系统需兼顾自适应码率、缓冲管理、硬解复用与CDN调度等多维优化。本文聚焦安卓/Linux轻量级终端场景,深入解析如何通过动态分片预取、零拷贝内存池、MediaCodec实例复用及双因子码率决策等关键技术,在ARM Cortex-A53等低算力芯片上实现1080p@60fps稳定解码与1.8秒内首屏加载。适用于海信VIDAA、TCL雷鸟、

weixin_30701575的博客 394

ota升级流程浅析(重点讲述虚拟A/B)

HAL 层的具体实现(通常由芯片厂如高通、联发科编写)会去修改小系统分区(如 misc 或 attributes 标志位),将 Slot B 标记为 bootable(可引导),并将其设为首选槽位(Active)。缺点:由于升级过程中高频读写 /data 分区并进行快照合并(Merge),在性能较差的低端机上,升级后的首次开机或合并期间,手机可能会有轻微的掉帧或发热。既保留了 A/B 升级的“后台静默”、“秒级重启”和“防砖自动回滚”能力,又不需要占用双倍的物理分区,帮手机释放了巨额的存储空间。

yangxiucheng520的博客 582

Android11.0 OTA差分包升级失败kDownloadStateInitializationError

AB_OTA升级模式开启条件下(),进行线刷验证OTA升级。

Framework-coder的博客 4451

持续更新,微信公众号文章批量采集系统的构建

我从2014年就开始做微信公众号内容的批量采集,最开始的目的是为了做一个html5的垃圾内容网站。当时垃圾站采集到的微信公众号的内容很容易在公众号里面传播。当时批量采集特别好做,采集入口是公众号的历史消息页。这个入口到现在也是一样,只不过越来越难采集了。采集的方式也更新换代了好多个版本。后来在2015年html5垃圾站不做了,转向将采集目标定位在本地新闻资讯类公众号,前端显示做成了app。所以就形

盐碘 7361

74.9008深度刷机原理|高通QPST/Firehose底层刷写协议详解

移动设备刷机与底层维修技术指南 本文为移动设备维修人员和高级玩家提供全面的刷机与底层维修技术指南,涵盖高通、联发科和苹果A系列芯片的主要操作。 主要内容 核心操作:Bootloader解锁、Fastboot刷写、EDL深度修复、iTunes DFU模式恢复和分区表重建 适用场景:系统故障修复、底层损坏恢复、安全限制解除、系统降级和深度硬件维修 关键技术:详细解析刷机协议栈层级、关键分区作用和刷机安全机制 操作步骤: 环境搭建与驱动安装 Bootloader解锁(以小米为例) 高通机型系统刷写 苹果设备DFU

2601_95651806的博客 205

189.苹果DFU刷机底层逻辑|SecureBootChain绕过与保留数据修复系统实操

摘要 本文为Android/iOS设备刷机维修的实用指南,面向具备Linux基础的技术人员。内容涵盖: 核心原理:详细解析高通/联发科/苹果芯片的启动链验证机制和分区结构,包括PBL→SBL→ABOOT的Android启动流程和iOS安全启动链 实战操作: 提供完整工具链(QPST/SP Flash Tool/3uTools) 各品牌设备进入刷机模式的具体方法(EDL/DFU等) 包含可直接运行的Python自动化脚本(固件校验与分区写入) 应急方案:针对OTA失败、分区损坏、基带丢失等常见故障,给出工程级

2601_95651806的博客 161

Android 小阶段BUG汇总

序号 问题点 问题描述 修改方法 1 工模 问题描述:工模测试时候部分涉及写Barcode的测试项卡死 问题原因:Barcode Buffer位数不够 修改方法:增加Buffer大小 mediatek/factory/src/factory.c int getBarcode(int fd,char *result)   {      const int BUF_

大燎原 673

【Matlab 六自由度机器人】基于改进型D-H参数的运动学建模与蒙特卡洛工作空间分析

本文详细介绍了如何使用改进型D-H参数法为六自由度机器人建立运动学模型,并利用Matlab Robotics Toolbox实现正运动学计算与可视化。通过蒙特卡洛法对机器人工作空间进行分析,生成三维点云图以直观展示其可达范围,为机器人选型与任务规划提供关键依据。

weixin_29040367的博客 439

Android 随笔集 By tuliyuan

1.反射机制调用系统服务EthernetManager private void getNetInfo(Context context) { try { // Log.d(TAG, "dddd getNetInfo is " ); Method getServiceMethod = Class.forName("android.os.ServiceManager").getDeclaredMethod("getService", new Cla

qq_18906227的博客 2282

【AIGC】人工智能训练师(高级)考试题库-橙点同学

例如,在嘈杂的环境中进行声音转文字,即使是优秀的模型也可能会出现一些错误,但这并不意味着该模型本身质量差,在其他较为理想的环境下,它可能会有很好的表现。例如,在一些语音应用和系统中,会使用SSML来实现对语音合成的精细控制,如调整语速、语调、音量等,而这些应用和系统的开发往往会遵循W3C的相关标准和框架,其中就包括SSML这一语音合成标记语言。例如,在语音识别等场景中,像“去火车站怎么走”这样的语音指令,没有其他嘈杂的背景声音或模糊不清的表述,就属于无噪音的数据,有利于系统准确地进行处理和分析。

RisunJan的博客 9921

矿石生成(1)

这个提供了标准化的矿石放置配置模板简化了常见和稀有矿石的配置过程遵循了Minecraft原版的世界生成模式提高了代码的可读性和可维护性通过使用这个类,模组开发者可以更轻松地配置矿石的生成规则,而不需要每次都手动编写完整的放置修饰符列表。这种设计模式在原版Minecraft和其他大型模组中也很常见,是一种良好的编程实践。// 导入语句...// 字段和方法...包声明表明这个类位于luckymod模组的WorldGen包中,专门处理世界生成相关配置。导入语句。

qq_24992377的博客 136

一、A/B升级之系统image的生成

一、A/B升级之系统image的生成 本篇将对AB升级打开宏开关后make 和 makeotapackage的流程做分析,下面这张图是之前文档中所提到的按照对应文件打开宏开关,即可开启AB升级,但是代码里面针对该宏控也有对应代码处理,本次先分析device 和 build下的修改 一、device主要修改 最初加入了MTK_AB_OTA_UPDATER = yes 去除cach...

李标标的博客 4676

CTR-GCN 论文解读

提出了一种信道拓扑优化图卷积,该卷积可以动态有效地对信道拓扑进行建模。共享拓扑是一个参数化的邻接矩阵,作为所有通道的拓扑先验,并提供顶点之间的一般相关性。通过使用特定于通道的相关性细化共享拓扑,CTR-GC 获得了通道拓扑。

一杯水果茶!足矣~ 3088

MTK A/B system说明及配置

1. 1.MTK A/B system说明及配置 1.1. A/B system updates Android从7.0开始引入新的OTA升级方式,A/B System Updates,我们先看看A/B system updates和我们常规的OTA升级有什么不同 1.1.1. AB模式和常规模式的区别 传统OTA:设备上有一个Android主系统和一个Recovery系统,Android主系统运行时检测是否需要升级,如果需要升级,则将升级的数据包下载并存放到cache分区,重启系统后进入Recover

wyttRain的博客 3616

QuecOpen RTOS学习笔记

对计算机响应时间有要求的系统,通常称为临界系统或应用。为了满足临界系统或应用对计算机响应 时间的要求,人们开发了实时操作系统(Real Time Operation System)。 实时操作系统指所有任务均在规定时间内完成的操作系统,同时任务完成必须满足时序可预测性。需 要注意的是,实时操作系统的本质是其反应具有时序可预测性。得益于此,实时操作系统通常反应非常快。 实时操作系统的内核对象一般包括任务、信号量、互斥锁、消息队列、定时器、事件通知和软件看门 狗等。

zxm8513优快云博客 2030

基于matlab的CNN验证码识别系统(UI界面版)

基于matlab的CNN验证码识别系统(UI界面版),CNN验证码识别系统包括数据集处理、模型搭建、模型训练、界面设计与实现

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 484

MTK A B system说明及配置_mtk12

固件编译成功后,在目录中会有一个整包(full_tb8788p1_64_bsp-ota-122110.zip),在目录下有一个素材包(full_tb8788p1_64_bsp-target_files-122110.zip)通过素材包也可以生成对应的整包不管是整包或者差分包,解压出来后的文件结构都是一样的:系统要更新的数据文件:包含了升级内容的一些属性信息(升级时会使用到payload_properties.txt里面的信息):A/B系统在debug模式下会包含升级应用。

2401_87541984的博客 1316

OpenRubrics:自动化评估工具优化LLM对齐效果

在大型语言模型(LLM)应用中,模型输出与人类价值观的对齐是关键挑战。传统人工反馈强化学习(RLHF)依赖大量标注,成本高且一致性差。OpenRubrics作为开源工具,通过结构化准则实现自动化评估,显著提升效率。其核心原理是将主观评价转化为可量化的多维指标,支持动态权重调整,并兼容主流RLHF框架。该工具在降低标注成本的同时,通过Fleiss' Kappa系数等指标保证评估一致性,适用于多语言和医疗等专业领域,为LLM对齐提供了工程化解决方案。

weixin_28730037的博客 359

A/B(无缝)系统更新

原文:https://source.android.com/devices/tech/ota/ab_updates A/B(无缝)系统更新 A/B 系统更新,也称为无缝更新,用于确保可运行的启动系统在无线 (OTA) 更新期间能够保留在磁盘上。这样可以降低更新之后设备无法启动的可能性,也就是说,用户需要将设备送到维修/保修中心进行更换和刷机的情况将有所减少。 用户

Just_for_Fun的博客 6135

CVE-2021-3156本地提权漏洞复现

受影响版本 sudo: 1.8.2 - 1.8.31p2 sudo: 1.9.0 - 1.9.5p1 测试 我这里是在本地centos7上进行测试。 需要目标机器上存在python编译器、目标主机出网或者能上传文件到目标主机。 以非root用户登录系统,并运行如下命令: sudoedit -s / 通常响应一个以 sudoedit: / 开头的报错,多半存在漏洞。 利用 提权脚本: https://www.o2oxy.cn/wp-content/uploa

The current road is different, love needs to distinguish between right and wrong 3780

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MTK AB OTA升级代码及修改

MTK AB OTA升级代码及修改

xuyewen288的博客 1214

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

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

上一篇: 二、Android BCB的作用
下一篇: 关于framwork解密流程优化分析
李标标
博客等级 码龄11年 124粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值