[核心] DIY 經 Bump 處理的 LG 官方台版 D838 v20C Kernel

背景

LG Lollipop 的 bootloader 已經拿掉 bump 後門. 若希望在 5.0 繼續使用 bumped CWM recovery, 必須保持系統為 KK bootloader. 然而 LG Lollipop kernel 的簽章又與 KK bootloader 不合, 所以必須移除 Lollipop kernel 的簽章, 並重新 bump, 才能搭配 KK bootloader 使用.

網站上搜尋到的保留 KK bootloader 來搭配 Lollipop kernel 的 zip pack, 其中內附的 kernel 看起來似乎都有一些問題, 其 kernel cmdline 及檔案大小與 D838 v20C 的官方 kernel 並不相同, 表示可能為其他來源, 或甚至可能是 KK kernel 改來的. 為了保留 CWM recovery, 又為了使用原汁原味的官方核心, 只好自己 DIY 一個 bumped 官方 v20C 核心.

載點

1. 給 CWM recovery 使用的 update_bumped_kernel_from_D83820C.zip, 此 zip 檔內含台版 D838 v20C 的 cust.bin, tz.bin, rpm.bin, modem.bin 以及 bumped boot.img. 據說 LG 的 modem 檔不能跨 L 與 KK, 故 L 的 boot 一定要搭配 L 的 modem.
2. 補充之用的 updater-script.zip: 內含替換用的 script, 以便用於 KK 升級到 Lollipop.

誰可用以及如何用
注意: 以下方法有變磚風險, 欲使用, 風險請自負.

狀況 1
你已安裝 LG 官方 v20C ROM, 並保有 CWM recovery, 這表示你的手機仍保留著 KK 的 bootloader. 此時若你像我一樣希望使用確認為原汁原味的官方核心和 modem, 則請直接用 CWM recovery 安裝載點 1 的 update_bumped_kernel_from_D83820C.zip.

狀況 2
你仍在使用 KK ROM 例如版本 v10F, 但希望升級為 LG D838 v20C 且安裝或保留 CWM. 請依照以下步驟:
1. 將 update_bumped_kernel_from_D83820C.zip 複製為另一個檔案例如 update_20C.zip.
2. 使用 update_20C.zip 當作基底, 替換其中 META-INF\com\google\android\updater-script 為第 2 個載點 zip 檔內解壓縮出來的 updater-script 檔, 以增加安裝 system.img 的 script.
3. 自行上網搜尋 LG official v20C kdz, 並從中提取出 system.img.
4. 將 system.img 壓縮進 update_20C.zip 中.
5. 若你的 KK 手機尚未 root, 請自行搜尋方法並 root.
6. 若尚未安裝可用的 D838 CWM recovery, 請自行搜尋並安裝.
7. 使用 CWM 安裝步驟 4 製作的 update_20C.zip.
8. 若希望 root, 請利用 CWM 安裝自行搜尋而得的 SuperSU-update.zip 包.

狀況 3
若你已用網路上的 PURE 方法升級為台版 v20C 並保留 root, 這意味著包含 bootloader 在內都已經是 LG 官方 Lollipop 的韌體. 此時若希望安裝 CWM recovery, 必須降級 bootloader 為 KK 內附版本, 才能安裝 CWM, 但同時也必須搭配安裝 bumped v20C kernel 才能配合降級的 KK bootloader.

以下步驟我並未實作, 但基本做法應當是如此:
1. 自行搜尋 LG 官方的 KK ROM kdz 檔, 例如 v10F 版本的 kdz.
2. 由 KK kdz 檔案中取得以下映像檔, 包含 sbl1.bin, dbi.bin, aboot.bin persist.bin, 以及 laf.bin. 請注意不要使用其中的 boot, modem, tz, rpm, cust 以及 system 等映像檔.
3. 自行搜尋 D838 可用的 CWM recovery. 無論是 zip 或是 apk 形式, 請由其中取出 recovery image.
4. 由我的載點1 zip 檔案取出其中的 boot.img.
5. 利用 adb shell, 先執行 su, 再利用 dd 命令 將步驟 2 到 4取出的所有映像檔分別寫入對應的 partitions. 非常重要的一點是, 一旦開始進行, 必須全部寫完, 中間不可關機或重開, 否則 bootloader 損害將變磚.
網路上所有能直刷的G3/G Pro 2刷包
多半都已事先將核心Bump!處理過才放出來
當然與原廠不同呀...也不太可能是拿KK的核心來改,initrd與zImage又不合...
有時還會將SELinux改為Permissive,因為Enforcing會導致相容問題像是三方通話錄音App失效

我非常不建議對sbl1/dbi/aboot/persist以及laf
這些極為重要的底層用三方Recovery以任何的形式更改
因為非常高風險,是一有閃失就會變磚的程度...

也根本不用管那麼多狀況起點
一律只要用KDZ/TOT降刷,這些分區都會隨之安全地刷回
打掉重練既妥當也相較不麻煩,分那麼多起點只是自尋煩惱...

只需要針對system/modem/boot/rpm/tz/cust
這些Android的部分用三方Recovery替換即可
就像XDA提供的G3刷包那樣
http://forum.xda-developers.com/lg-g3/development/stock-t2961073
PS.請不要直接拿這個G3的Script來改,不一定合用

一律回起點
在KitKat就Root裝三方Recovery
然後刷含已Bump!過核心的系統刷包
再刷個SuperSU刷包
最後將Dalvik/Cache給Wipe
這樣就搞定了其實...
nick2009 wrote:
網路上所有能直刷的G...(恕刪)


網路上的 G Pro 2 Lollipop 升級包, 多未說明核心來源, 若只是 unpack ramdisk 處理後重新打包, 並不致於造成 kernel cmdline argument 變成不同, 更奇怪的是 cmdline 反而與 KK 者相同, 因為我沒查過韓版 L 的 cmdline, 所以僅能猜測這是由其他 model 或甚至是 KK 改來的. 再者, 其中包進去的 modem.bin 檔案皆非台版 v20C 的, 更是讓人不放心. 或者可以說這些都不是台版 v20C 改來的.

本文只是提供一個明確來源的核心, 供網友自行整合. 推敲的三種狀況, 也是可以整合的用途, 並非推薦那種作法. 尤其狀況 3, 是針對常有人提出已升級後如何線刷而提出可行性的說明, 風險亦已說明.

若非網路上不明來源的核心讓人不放心, 何需自行花功夫處理? 尤其 G Pro 2 的使用者遠不如 G3, 資源較少, 也造成許多東西看來是拼湊的, po 文者經常不是原作者. 所以還是能弄清楚來源的比較好.

pcfree wrote:
網路上的 G Pro...(恕刪)


看來我還是乖乖等官方釋出的升級
看到頭皮都發麻的流程...........果然不是我這種外行能玩的!!
已經依照 狀況2 升級成功囉, 感謝!
用CWM安裝 update_20c.zip的時候, 會有個錯誤訊息 "Error Loki-ifying The Boot Image", 可以先無視, 繼續安裝 update-supersu.zip, 重新開機後 就會開始更新5.0.
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!