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 不識別。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM