อย่างที่รู้กันว่าจนแล้วจนรอด CM ก็ยังไม่ยอมรับ D855 เข้าเป็น Official Build ดังนั้น ท่านที่ใช้เครื่อง LG G3 ที่เป็น D855 (ผมก็เป็นหนึ่งในนั้น) ไม่ต้องเสียใจที่จะไม่ได้ใช้ CM เรามาเริ่ม build ใช้กันเองเลยดีกว่าครับ

เริิ่มจากสิ่งที่ต้องการ ท่านต้องใช Linux ในการ build ครับ ซึ่งตอนที่ build นี้ผมใช้ Ubuntu 14.04 ครับ

จากนั้นเราทำการเปิด Terminal ของ Linux ขึ้นมา (กด ctrl+alt+t)

สร้างโฟลเดอร์ใหม่สำหรับเก็บโค้ดของ CM11 ด้วยคำสั่ง



mkdir cm11
ต่อไปทำการติดตั้งซอฟแวร์ที่ต้องใช้ในการ build ด้วยคำสั่ง

sudo apt-get install bison build-essential curl flex \
g++-multilib gcc-multilib git-core gnupg gperf \
lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev \
libesd0-dev libncurses5-dev libsdl1.2-dev \
libwxgtk2.8-dev libxml2 libxml2-utils lzop \
openjdk-6-jdk openjdk-6-jre pngcrush schedtool \
squashfs-tools xsltproc zip zlib1g-dev
ระบบจะถามพาสเวิร์ดในการติดตั้ง ไฟล์ไม่ต้องแปลกใจนะครับ กรอกพาสเวิร์ดแล้วนั่งรอเลย

จากนั้นเราย้ายตัวเราเข้าไปในโฟลเดอร์ cm11 ด้วยคำสั่ง

cd cm11
หลังจากนั้นทำการติดตั้ง repo ด้วยคำสั่ง

 mkdir ~/bin

PATH=~/bin:$PATH

cd ~/bin

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x ~/bin/repo
ระบุตำแหน่งของ CM11 บนระบบ git ด้วยคำสั่ง

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
ดาวน์โหลดโค้ดจากระบบ git ด้วยคำสั่ง
 (ขั้นตอนนี้อาจใช้เวลาประมาณ 12 ชม. แนะนำให้นอนสักงีบครับ)

repo sync
พอเสร็จ เข้ามาที่ โฟลเดอร์ cm11 ผ่าน file manager จะเห็นโฟล์เดอร์ขึ้นมาเต็ม ให้กด ctrl+h จะเห็นโฟลเดอร์โผล่ขึ้นมาชื่อ .repo ให้เข้าไปในโฟลเดอร์ .repo สร้างโฟลเดอร์ชื่อ local_manifests ในโฟลเดอร์ local_manifests สร้างไฟล์ชื่อ local_manifest.xml แล้วเพิ่มบรรทัดใน local_manifest.xml ตามนี้

<manifest>
<!-- D855 -->
<project path="device/lge/d855" name="invisiblek/android_device_lge_d855" remote="github" revision="cm-11.0" />
<project path="device/lge/g3-common" name="invisiblek/android_device_lge_g3-common" remote="github" revision="cm-11.0" />
<project path="kernel/lge/g3" name="invisiblek/android_kernel_lge_g3" remote="github" revision="cm-11.0" />
<project path="vendor/lge" name="invisiblek/proprietary_vendor_lge" remote="github" revision="cm-11.0" />
<!-- CyanogenMod -->
<project path="device/qcom/common" name="CyanogenMod/android_device_qcom_common" remote="github" revision="cm-11.0" />
<project path="hardware/qcom/display-caf-new" name="CyanogenMod/android_hardware_qcom_display-caf-new" remote="github" revision="cm-11.0" />
<project path="hardware/qcom/media-caf-new" name="CyanogenMod/android_hardware_qcom_media-caf-new" remote="github" revision="cm-11.0" />
</manifest>
ดาวน์โหลดโค้ดเพิ่มเติมอีกรอบ (ขั้นตอนนี้อาจใช้เวลาประมาณ 2 ชม. เร็วกว่าเดิม)

repo sync
จากนั้นทำการ prebuilt ระบบบางส่วนด้วยการสั่ง

cd vendor/cm
. get-prebuilts
croot
cd ..
cd ..
หลังจากนั้นเราก็เริ่ม build ได้แล้วด้วยคำสั่ง
(ขั้นตอนนี้ใช้เวลาประมาณ 3 ชม.)
. build/envsetup.sh
breakfast d855
brunch d855
หลังจากเสร็จเราจะพบไฟล์zip สำหรับ flash อยู่ที่
/cm11/out/target/product/d855
โหลด ไฟล์ open_bump ได้จากที่นี่ https://github.com/CyboLabs/Open_Bump
ให้ทำการแกะ boot.img ใน zip ออกมา แล้วนำ open_bump.py ที่ได้มาวางในโฟลเดอร์เดียวกัน แล้วสั่ง python open_bump boot.img

 python open_bump boot.img
จะมีไฟล์ชื่อ boot_bumped.img ออกมา ให้เปลี่ยนชื่อกลับเป็น boot.img แล้วยัดกลับใส่ในไฟล์ zip ของ CM11 ที่จะเอาไปแฟลช

แค่นี้เราก็จะ build rom สำหรับ CM11 ของ LG G3 D855 ใช้เองได้แล้ว ขอให้สนุกครับ
// ถ้าว่างๆจะมาใส่รูปเพิ่มอธิบายประกอบ







คลังบทความ