V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
acbot
V2EX  ›  Android

手机厂商为自定义 ROM 设置了哪些障碍

  •  
  •   acbot · 120 天前 · 2382 次点击
    这是一个创建于 120 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于手机厂商老是喜欢在官方 ROM 做一些小动作,比如:搞点广告啊,窃取点隐私啊啥的,加之一些走量的手机型号(大厂的低端型号也在列)出厂之后基本得不到后续系统升级服务,系统漏洞长时间得不到修复,时间长了就有安全问题,所以就产生了一些自定义 ROM 的需求。以前对自定义 ROM 了解也不多,所以不知道手机厂商为自定义 ROM 设置了哪些障碍,也就是说自己定义一个 ROM ,要能在具体的设备上运行有哪些要素是必须由硬件厂家提供才能行的(注:这里说的运行仅仅是 Android 原生系统和基本功能(电话,上网等)的运行,不考虑界面美观的等因素)

    我能想到的有:

    1. BL 锁 1 ) BL 锁原理介绍中说,BL 锁的是根据 ROM 签名来验证的,那么哪些第三方制作的官方精简 ROM 是如何通过 BL 锁验证的呢,签名应该会变吧?难道说 BL 仅仅是验证内核的签名? 2 ) BL 解锁,在新版本系统中有的介绍仅仅是打开开发者模式里面的解锁 oem 选项就可以了,有这么简单的吗?怎么我看有的设备除了这个操作还需要获取解锁码的步骤呢?

    2. 设备树或驱动 https://www.v2ex.com/t/885123 在这个帖子中看到了 提取 vendor blob 的介绍,由于不太懂这个 vendor blob 是不是就是设备树或者说驱动

    除开这些还有哪些因素在障碍自定义 ROM 呢?

    13 条回复    2022-10-12 14:42:45 +08:00
    neptuno
        1
    neptuno  
       120 天前
    好多年不玩刷机了,按照以前的经验,最大的障碍还是销量吧,销量大的,win 都给你适配,销量小的,就只能用用官改甚至连官改都没有。
    singerll
        2
    singerll  
       120 天前
    第三方 rom 通过不了官方 bl 的验证,一般都是解锁 bl 后替换官方 bl 为第三方 bl ,也就没了验证的问题。
    手机厂商给的最大障碍就是 bl 锁,不给 bl 锁就没有后续的一系列操作。
    aqtata
        3
    aqtata  
       120 天前
    借个地问问 MIUI 锁 system 分区有办法破吗?刷入 magisk 后仍然无法读写 system 分区。网上找到的资料都是 18 年左右的,试了都没效果
    shangsharon
        4
    shangsharon  
       120 天前
    @aqtata 说是 recovery 里面取消 avb2.0 验证后可以读写 system,但是我试了好像不行
    而且取消验证后(小米 K30 5G)手机开机后几分钟内会无故重启 UI(不是重启系统),重启后还会出现 1 到 2 次这种情况,然后回归正常.
    也有一定几率重启 UI 后黑屏无法操作,只能长按电源关机重启.
    重启后就是重复前面的流程,只能祈求多次重启 UI 后不黑屏,然后正常使用别关机就行.....
    所以还是别折腾,想折腾直接用国外开源的适配 ROM
    treblex
        5
    treblex  
       120 天前
    纯刷机玩的话 1+ 6T 和 小米 6 是比较经典的
    新的款式都不太愿意用户刷机了,甚至下载 app 都要联网输密码的,跟 iphone 对齐了
    想要比较新的硬件只能考虑国外的,或者开源硬件,开源硬件可能配置差点
    binsys
        6
    binsys  
       120 天前   ❤️ 1
    固件签名( Boot 链式校验,公钥私钥,SecureBoot 3.0 等)
    设备参数及配置
    Vendor 驱动及库
    (有些 so ko 手机厂商也没代码,是 SOC Vendor ,HW Vendor 私有的,涉及大版本变动时,API 修改了等,直接挂,除非网上有人上各种黑科技 wrapper 套娃等方法让他跑起来,但厂商人员不会这么干,生命周期外会直接停更放弃)
    Linux kernel 涉及变更版本时,源码兼容都无法保证,更别说二进制兼容了。
    只能是广大网友有时间有精力有技术的贡献支持。
    acbot
        7
    acbot  
    OP
       120 天前
    @singerll BL 锁原理介绍中说,BL 锁的是根据 ROM 签名来验证的,那么哪些第三方制作的官方精简 ROM 是如何通过 BL 锁验证的呢,精简后签名应该会变吧?难道说 BL 仅仅是验证内核的签名?
    gam2046
        8
    gam2046  
       120 天前   ❤️ 1
    大致流程图:https://s2.loli.net/2022/10/11/bcVGF9Rykh7f5Kv.png

    我知道的,目前似乎没有厂家开源过 bootloader 部分代码,几乎开源的部分都只是内核部分,因此#2 表述并不准确,不是替换了原厂了 bootloader ,仅仅是关闭了 bootloader 的签名验证。

    而一个能用的系统跑起来,除了内核至少还需要 Android 以及设备驱动,前者厂家都不会开源,后者甚至连 OEM 厂家都没有。
    acbot
        9
    acbot  
    OP
       120 天前
    @gam2046 https://www.v2ex.com/t/885123 在这个帖子中 和 https://wiki.lineageos.org/extracting_blobs_from_zips 看到了 提取 vendor blob 的介绍,由于不太懂这个 vendor blob 是不是就是设备树或者说驱动
    acbot
        10
    acbot  
    OP
       120 天前
    @treblex “...新的款式都不太愿意用户刷机了,甚至下载 app 都要联网输密码的,跟 iphone 对齐了...” 这个也就是 为啥想自定义 ROM 的原因之一 主要是针对:1. 哪些已有并且还在使用的设备但是原厂商已经停止更新设备(一般就是各个品牌走量的中低端机器),2. 原系统绑定太多。 所以并不是为了自定义 ROM 而自定义 ROM
    abc8678
        11
    abc8678  
       119 天前 via Android
    电脑可以用原版镜像,手机 ROM 被迫选择类似于毒瘤打包的一键 ghost
    abc8678
        12
    abc8678  
       119 天前 via Android
    @aqtata 酷安是吧,现在搜个基本步骤,搜索结果全是开箱评测,百度谷歌也不一定搜不到,全是乱糟糟的
    thqw0925
        13
    thqw0925  
       119 天前 via Android
    可以去 xda 了解,国内的酷安已经没法看了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   5211 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:43 · PVG 10:43 · LAX 18:43 · JFK 21:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.