• aosp 制作 rom 刷机 添加厂家二进制驱动 及 出厂镜像


    首先介绍下背景知识。

    aosp 仅是一套源码,不含厂家驱动。 CM安卓的厂家驱动是自行提取的。

    一般的安卓手机分区,有 boot , system, user , Baseband 基带, recovery , cache 等。

    Google Pixel XL 都需要哪些 驱动呢?

    1, 厂家驱动二进制。

    https://developers.google.com/android/drivers#marlinppr2.180905.006.a1

    Pixel XL binaries for Android 9.0.0 (PPR2.180905.006.A1)
    https://dl.google.com/dl/android/aosp/google_devices-marlin-ppr2.180905.006.a1-1090e880.tgz
    2f93f49993f6ff4f2269b53ec913966236de44f07dbb41657505b0402e21d0dc

    GPS, Audio, Camera, Gestures, Graphics, DRM, Video, Sensors
    https://dl.google.com/dl/android/aosp/qcom-marlin-ppr2.180905.006.a1-d11de9e0.tgz
    25c68bc68254c4426c280ed57499177973a69b9d843d5ca79c7fc918e6e0d1ba

    出厂镜像
    https://developers.google.com/android/images

    https://dl.google.com/dl/android/aosp/marlin-ppr2.180905.006.a1-factory-a78fe264.zip

    厂家二进制驱动提供 hal 层的 gps 照像 基带 什么的支持。

    如何添加到 aosp 中一起编译?

    下载上面的3个文件,并验证 sha。

    然后解压得到2个 sh  extract-google_devices-marlin.sh  extract-qcom-marlin.sh

    复制到 aosp 源码目录中,手动执行一下,安装好。

    ./extract-google_devices-marlin.sh
    vendor/
    vendor/google_devices/
    vendor/google_devices/marlin/
    vendor/google_devices/marlin/device-vendor-marlin.mk
    vendor/google_devices/marlin/android-info.txt
    vendor/google_devices/marlin/BoardConfigVendor.mk
    vendor/google_devices/marlin/BoardConfigPartial.mk
    vendor/google_devices/marlin/proprietary/
    vendor/google_devices/marlin/proprietary/vendor.img
    vendor/google_devices/marlin/device-partial.mk
    
    Files extracted successfully.
    
    第2个 高通驱动
    ./extract-qcom-marlin.sh
    vendor/
    vendor/qcom/
    vendor/qcom/marlin/
    vendor/qcom/marlin/BoardConfigPartial.mk
    vendor/qcom/marlin/proprietary/
    vendor/qcom/marlin/proprietary/lib64/
    vendor/qcom/marlin/proprietary/lib64/libbcc.so
    vendor/qcom/marlin/proprietary/lib64/libLLVM_android.so
    vendor/qcom/marlin/proprietary/lib64/libiperf.so
    vendor/qcom/marlin/proprietary/lib64/libminui.so
    vendor/qcom/marlin/proprietary/ATT_profiles.xml
    vendor/qcom/marlin/proprietary/pktlogconf
    vendor/qcom/marlin/proprietary/VZW_profiles.xml
    vendor/qcom/marlin/proprietary/ROW_profiles.xml
    vendor/qcom/marlin/proprietary/libclcore_neon.bc
    vendor/qcom/marlin/proprietary/sanitizer-status
    vendor/qcom/marlin/proprietary/libiperf.so
    vendor/qcom/marlin/proprietary/qcrilhook.jar
    vendor/qcom/marlin/proprietary/libminui.so
    vendor/qcom/marlin/proprietary/libion.so
    vendor/qcom/marlin/proprietary/iperf3
    vendor/qcom/marlin/device-partial.mk
    vendor/google_devices/
    vendor/google_devices/marlin/
    vendor/google_devices/marlin/device-vendor-marlin.mk
    vendor/google_devices/marlin/android-info.txt
    vendor/google_devices/marlin/BoardConfigVendor.mk
    
    Files extracted successfully.

    重新执行 生成镜像命令 。

    wildcard(vendor) was changed, regenerating...
    wildcard(vendor) was changed, regenerating...
    [ 21% 243/1111] including out/soong/Android-aosp_marlin.mk

    因为之前用的 master 分支,需要手动切到安卓9上来,重新 lunch make 。

    先使用出厂镜像来刷机

    启用开发者模式,打开 USB 调试 adb shell 能进入

    开机键 + 音量- 进入 bootloader 模式

    电脑上能识别出来手机并装上了驱动

    fastboot devices 能看到设备。

    解压 marlin-ppr2.180905.006-factory-df8ec974.zip 里面有个 flash-all.bat 双击等几分钟,就刷好了。

    刷入 自己编译的 AOSP 的安卓 img 。

    为什么要先刷入出厂镜像呢?

    因为你的手机买回来可能是 8.0 或 7.1 的 安卓版本,而最新的编译出来的是 9.0 的安卓。

    在刷自己编译出来的 那几个 img 。

    发现问题了,其它都正常,就是 SIM 不识别。

  • 相关阅读:
    Python批量修改文件后缀脚本
    IOS开发(62)之GCD上异步执行非UI任务
    创业遐想:三千世界 致在桥上看风景的你
    院长谈读书的方法(部门图书互换活动)
    树形dp hdu4514 湫湫系列故事——设计风景线
    设计模式之strategy模式(C++实现)
    拿什么拯救你,我的大规模杀伤性武器Nokia!
    C++成员函数的重载,继承,覆盖和隐藏
    ORA00600: internal error code, arguments: [4194] ,ORA00607
    wing ide 4.0/4.1超简单破解方法
  • 原文地址:https://www.cnblogs.com/ningci/p/9665256.html
Copyright © 2020-2023  润新知