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

Pixel 7a/Android 14 Root 后怎么 OTA 呢?看网上说貌似不能像之前一样更新完不重启然后 Magisk 安装到另一个槽位来解决了?

  •  
  •   Tink · 7 天前 · 1448 次点击
    17 条回复    2024-07-01 12:05:16 +08:00
    mxalbert1996
        1
    mxalbert1996  
       7 天前   ❤️ 2
    可以的,只是准备工作会稍微复杂一些,因为 Pixel 7 系列开始需要 patch 的是 init_boot 分区,不能像 boot 分区一样不刷入直接 fastboot boot boot.img 。步骤如下:
    1. 用 Magisk patch init_boot.img ,刷入以后启动,确认 Magisk 安装完成。(这一步就是普通的 root 步骤)
    2. 用 Kernel Flasher ( https://github.com/capntrips/KernelFlasher) 的刷入分区镜像功能刷入官方原版 init_boot.img ,不要重启。
    3. 在 Magisk Manager 里点安装,选择直接安装,这样未被 patch 的 init_boot 分区镜像就会被备份。
    这样准备工作就完成了,以后 OTA 就可以跟以前一样还原原厂镜像以后更新然后安装 Magisk 到未使用槽位重启。
    我的 Pixel 7 Pro 和 Pixel 8 Pro 一直是用这个方法更新的。
    Tink
        2
    Tink  
    OP
       7 天前
    @mxalbert1996 谢谢解答,有点地方没太看懂.
    我的机器现在已经是 root 的状态,然后收到了 ota 的提醒让我点继续我一直没有点。

    也就是我现在需要使用 kernel flasher 再刷入一次原版镜像中提取出来的 init_boot ,然后不重启直接在 magisk 中选直接安装,然后重启就完成了 root+备份原版 init_boot 的工作。

    以后 ota 还需要下载 full factory fw 吗?
    Tink
        3
    Tink  
    OP
       7 天前
    @mxalbert1996 您说的以后 ota 先还原原厂镜像是怎么操作的
    mxalbert1996
        4
    mxalbert1996  
       6 天前 via Android   ❤️ 2
    > 也就是我现在需要使用 kernel flasher 再刷入一次原版镜像中提取出来的 init_boot ,然后不重启直接在 magisk 中选直接安装,然后重启就完成了 root+备份原版 init_boot 的工作。

    对。
    OTA 当然不需要下载系统镜像,这就是这个准备工作的意义。
    OTA 更新的步骤参考这里: https://topjohnwu.github.io/Magisk/ota.html
    文档比较老,界面不太一样,但步骤是一样的。
    mxalbert1996
        5
    mxalbert1996  
       6 天前 via Android   ❤️ 1
    另外注意你现在需要刷入的是你当前版本的(不是 OTA 的新版本的) init_boot.img 。
    Tink
        6
    Tink  
    OP
       6 天前
    @mxalbert1996 明白了,谢谢!

    还有个问题,我 OTA 成功之后,是不是除非大版本升级(例如升级 Android 15 ),否则再不需要使用 kernel flasher 刷入 init_boot 并使用 magisk 来备份了?
    irainsoft
        7
    irainsoft  
       6 天前   ❤️ 3
    Tink
        8
    Tink  
    OP
       6 天前
    @irainsoft 还有这种工具,牛
    wkh007
        9
    wkh007  
       6 天前 via Android
    gomgPixel 8a root 后能自动 OTA ,只是需要重新 root 。
    wkh007
        10
    wkh007  
       6 天前 via Android   ❤️ 1
    供参考,日版 Pixel 8a ,root 后能自动 OTA ,只是需要重新 root 。
    Tink
        11
    Tink  
    OP
       6 天前 via Android
    @wkh007 这个我知道,只是不想再次 patch ,所以看看有没有其他什么好的方案
    ztmzzz
        12
    ztmzzz  
       6 天前 via iPhone   ❤️ 2
    我用 avbroot ,在手机上装一个 custota 就可以和原生一样直接 ota ,不需要连接电脑。而且支持回锁 bl 。需要自己搭建一个更新服务器,我写了一个 docker 镜像解决了。
    mxalbert1996
        13
    mxalbert1996  
       6 天前 via Android   ❤️ 1
    @Tink 升级大版本也不需要啊,除非你是手动刷机升级
    Tink
        14
    Tink  
    OP
       6 天前
    @mxalbert1996 soga ,明白了谢谢
    morian
        15
    morian  
       6 天前 via Android   ❤️ 1
    1 ,下载 ota 包
    2 ,用 ota extractor 提取 init_boot.img
    3 ,在手机上用 magisk 给 init_boot.img 打补丁
    4 ,重启到 recovery ,adb sideload 安装 ota 包,安装后不要重启
    5 ,在 recovery 重启到
    morian
        16
    morian  
       6 天前 via Android   ❤️ 1
    fastboot ,fastboot flash init_boot 破解的 img 文件
    6 ,重启到系统
    Tink
        17
    Tink  
    OP
       5 天前 via iPhone
    @morian 我现在无论是手动 sideload ota 包还是用 pixelflasher 自动 sideload ,走到 47%都会提示一个错误,查了一下好像是 super 分区空间不够
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1200 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:07 · PVG 02:07 · LAX 11:07 · JFK 14:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.