只針對A870,其它機型僅可參考,畢竟源代碼不同。
官方內核源代碼下載:
http://opensource.pantech.com/
超頻內核、省電內核修改代碼下載:
http://pan.baidu.com/share/link?shareid=1091199320&uk=3071575749
一、編譯環境
編譯需要Linux,推薦使用Ubuntu 64位版,如果你的CPU支持vt-x,則可以在虛擬機裏安裝,如果不支持,則只能安裝在真實的計算機裏。
如果是虛擬機,至少分配2G內存和60G硬盤。
本人使用Lubuntu 13.04 64bit。
關於ubuntu的安裝、配置、相關知識、命令……,請自行科普,此處略過。
另外編譯需要arm-eabi-4.6,可以直接下載cm10.1然後使用其自帶的編譯器,也可以單獨下載。
請參考此篇文章對linux編譯需要的支持軟件進行安裝:http://wiki.cyanogenmod.org/w/Build_for_mako
此文章裏也有下載cm10.1的相關說明,如需下載請參考說明來操作
或單獨下載arm-eabi-4.6:
https://github.com/CyanogenMod/android_prebuilts_gcc_darwin-x86_arm_arm-eabi-4.6
如果使用cm10.1則後續的編譯器路徑不需要修改,如果單獨下載,則需要自行配置。
二、編譯內核
假設cm10.1源代碼放在/opt/cm10.1,這裏以cm10.1編譯爲範例,如果你單獨下載編譯器,請自行修改build_kernel.sh或相關xxx.sh內的編譯器路徑
那麼先創建目錄cm10.1/kernel/pantech
把下載好的內核源代碼解壓。
tar zxvf IM-A870L_jb_kernel_132.tar.gz
把解壓出來的kernel文件夾放到cm10.1/kernel/pantech裏
再把提供的修改代碼解壓並覆蓋到kernel目錄裏。
如果編譯腳本沒有權限,記得要在root權限下執行賦予權限的命令
chmod a+x build_k_overclock.sh 等
所有編譯腳本都需要賦予執行權限。
或者直接選中文件,並在右鍵屬性中修改執行權限爲任何人。
然後執行./ build_k_overclock.sh開始編譯,編譯完成後,在kernel目錄下會生成zImage,這個就是編譯好的內核二進制文件
對應不同的編譯腳本,生成對應的內核,含有overclock的爲超頻內核,含有powersave的爲省電內核。
編譯完成後想進入下一次編譯,可以執行clean_kernel.sh清除上次編譯的結果,再進行下一次編譯。
三、製作boot
光有內核是不行的,還需要ramdisk與內核組成boot才行。
先從官方刷機包中找到boot.img
然後用內核解包工具,解壓得到ramdisk.gz,詳細過程請參考A850/A870 Twrp修改教程,這裏就不再重複說明。
創建一個新的文件夾boot_new,複製mkbootimg工具到這個文件夾
再把之前編譯的zImage改名爲kernel,與ramdisk.gz一起放到這個文件夾裏。
執行命令
./mkbootimg --cmdline'console=NULL,115200,n8 androidboot.hardware=qcom user_debug=31msm_rtb.filter=0x3F ehci-hcd.park=3 maxcpus=2 loglevel=0 vmalloc=0x12c00000'--kernel kernel --ramdisk ramdisk.gz -o boot.img --base 0x80200000--ramdisk_offset 0x02000000
生成了boot.img,就大功告成了。
四、測試和刷機
如果只是臨時測試的話,可以用fastboot命令來啓動boot.img
手機在fastboot模式下,執行fastboot boot boot.img
測試完成後,剩下的刷機就不多說了,與一般的刷機一樣。
Romer就自己製作刷機包吧。