Moto G6 เป็นสมาร์ทโฟนราคาประหยัดล่าสุดในซีรีส์ G-series ที่ขายดีของ Motorola มาพร้อมกับ Android Oreo, ชิป셋 Qualcomm SDM45 Snapdragon (Octa-core 1.8GHz Cortex-A53), และ GPU Adreno 506 ถือว่าเป็นอุปกรณ์ที่คุ้มค่าสำหรับราคา และตอนนี้เราสามารถรูทได้เต็มรูปแบบด้วย TWRP และ Magisk!
อย่างไรก็ตาม นี่ ไม่ใช่ กระบวนการรูทที่ง่าย คำแนะนำนี้เกี่ยวข้องกับการแฟลชหลายไฟล์และการรันคำสั่ง ADB หลายขั้นตอน โปรดสร้างสำเนาข้อมูลอุปกรณ์ก่อนดำเนินการต่อ ไม่ใช่แค่เพื่อป้องกันหากเกิดข้อผิดพลาด แต่เพราะส่วนหนึ่งของคำแนะนำนี้เกี่ยวข้องกับการรีเซ็ตโทรศัพท์ Moto G6 เป็นค่าโรงงาน
ข้อกำหนดเบื้องต้น:
- Magisk Beta
- MotoG6-ali-TWRP.img
- XT1925-2 – XT1925-2_no-verity-boot.img (stock edit)
- XT1925-4 – XT1925-4_no-verity-boot.img (stock edit)
- XT1925-5 – XT1925-5_no-verity-boot.img (stock edit)
- XT1925-6 – XT1925-6_no-verity-boot.img (stock edit) และ MotoG6-ali-boot.img (kernel และ dtb สร้างจาก source OPS27.104-15-10)
- Force Encryption Disabler for ALI Oreo
หมายเหตุสำหรับ XT1925-6: มีไฟล์ boot image สองไฟล์สำหรับดาวน์โหลด หนึ่งเป็น stock edited อีกหนึ่งเป็น source built ใน "MotoG6-ali-boot.img" kernel และ device blobs ถูกสร้างใหม่จาก source (OPS27.104-15-10) โดยลบ verity ออก (และ device blobs ที่ใช้ใน TWRP ก็ถูกสร้างใหม่เช่นกันเพื่อดึงการ์ด SD 外部)
พอร์ต TWRP นี้มีบางปัญหา จึงเป็นเวอร์ชันทดลอง ไม่สามารถย้ายไฟล์ไปยังการ์ด SD ได้โดยตรง แต่สามารถคัดลอกแทนได้ TWRP วาง internal storage ที่ /SDCard และ external storage ที่ /External_SD
คำเตือน: การดำเนินการตามคำแนะนำนี้เกี่ยวข้องกับการล้าง userdata โปรดสำรองข้อมูลทั้งหมดก่อนเริ่ม! นอกจากนี้ เมื่อแฟลชผ่านบูทโหลเดอร์ จะแสดงข้อความ "(bootloader) Image not signed or corrupt" ซึ่งเป็นเรื่องปกติ เพราะ image ไม่ได้ลงนามโดย Motorola
วิธีรูท Moto G6
ดาวน์โหลด TWRP image จากด้านบนของคำแนะนำนี้ไปที่โฟลเดอร์ ADB/Fastboot บนคอมพิวเตอร์
เปิดใช้งาน USB debugging บน Moto G6 ไปที่ Settings > About > กด Build Number 7 ครั้งจนโหมดนักพัฒนาเปิดใช้งาน แล้วไปที่ Developer Options เปิดใช้งาน "USB Debugging"
รีบูทเข้าสู่บูทโหลเดอร์ สามารถทำได้โดยเปิดเครื่องและกดปุ่ม Power และปุ่ม Volume ทั้งสองพร้อมกัน
เมื่ออุปกรณ์รีบูทเข้าบูทโหลเดอร์แล้ว ให้พิมพ์คำสั่งต่อไปนี้จากคอมพิวเตอร์พร้อมต่อโทรศัพท์ด้วย USB:
fastboot boot MotoG6-ali-TWRP.img
เมื่อ TWRP บูทจากคอมพิวเตอร์แล้ว ให้พิมพ์ (อาจใช้เวลาบ้างเพราะกำลังพยายามถอดรหัส userdata แต่จะล้มเหลวและอาจขอรหัสผ่าน ให้กด cancel):
adb pull /dev/block/platform/soc/7824900.sdhci/by-name/boot stockboot.img adb pull /dev/block/platform/soc/7824900.sdhci/by-name/recovery stockrecovery.img
คำสั่งนี้จะสร้างสำเนา stock boot และ recovery images หากต้องการกลับสู่สต็อกภายหลัง
รีบูทเข้าบูทโหลเดอร์อีกครั้งโดยพิมพ์จากคอมพิวเตอร์:
adb reboot bootloader
ดาวน์โหลด no-verity-boot image ที่ตรงกับรุ่นอุปกรณ์ของคุณจากส่วนดาวน์โหลดของคำแนะนำนี้ และวางไว้ในโฟลเดอร์ ADB
รันคำสั่งต่อไปนี้จากคอมพิวเตอร์เพื่อติดตั้ง boot image ลงในอุปกรณ์:
fastboot flash boot <insert-boot-image-name-here>.img
รันคำสั่งต่อไปนี้เพื่อติดตั้ง TWRP image ลงในอุปกรณ์:
fastboot flash recovery MotoG6-ali-TWRP.img
ใช้ปุ่ม Volume บนอุปกรณ์เพื่อเลือก boot to recovery แล้วกดปุ่ม Power TWRP จะบูทขึ้นมา ควรจะขอรหัสถอดรหัส ให้เลือก cancel
ขั้นตอนนี้จะล้างข้อมูลบนโทรศัพท์ โปรดแน่ใจว่ามีการสำรองข้อมูลไว้ก่อนหน้านี้!
สไลด์เพื่ออนุญาตให้ system mount แบบ re-writable (r/w) ต่อไปกดปุ่ม "Wipe" ใน TWRP และสไลด์ "Swipe to Factory Reset" ขั้นตอนนี้ควรจะ format data เนื่องจากถูกเข้ารหัส (ลบ internal storage) แต่หากไม่ได้และ data ยัง mount ไม่ได้ใน TWRP สามารถใช้ปุ่ม "Format Data" เหนือ swipe for Factory Reset ซึ่งจะ format data และลบทุกอย่างจาก internal sdcard (storage) ด้วย
ขั้นตอนนี้จะลบ force-encryption ในการบูทครั้งแรก (คุณยังสามารถเลือกเข้ารหัสหลังบูทได้ โทรศัพท์จะแสดงว่าเข้ารหัสแล้วในแท็บ security ของ settings แต่จริงๆ ไม่ได้เข้ารหัส และตัวเลือกเข้ารหัสยังคงอยู่ในเมนูนั้น) โปรดทราบว่าการเข้ารหัสด้วยตนเองอีกครั้งจะทำให้ data อ่านไม่ได้ใน TWRP อีกครั้ง
มีสองวิธีทำขั้นตอนนี้: ด้วยตนเอง หรือด้วยไฟล์ zip เราได้เตรียม modified zip สำหรับ push fstab.qcom ใหม่ขณะ mount vendor partition ให้เรา จึงจะใช้วิธีนี้ หากคุณกังวลเรื่องการกลับสู่สต็อกสมบูรณ์ ควรสำเนา factory fstab.qcom โดยใช้โค้ดต่อไปนี้ ต้อง mount vendor ใน TWRP ก่อน
adb pull /vendor/etc/fstab.qcom factory-fstab.qcom
ดาวน์โหลด verity-disabler zip จากท้ายของโพสต์นี้ และ push ไปที่โทรศัพท์ ตัวอย่างใช้ไดเรกทอรี /tmp
จากคอมพิวเตอร์ พิมพ์คำสั่งต่อไปนี้ใน command prompt/terminal จากโฟลเดอร์ adb/fastboot:
adb push Force_Encryption_Disabler_For_ALI_Oreo_v2.zip /tmp
แฟลช zip ที่เพิ่ง push โดยใช้ตัวเลือก install เลือกที่เก็บข้อมูลที่ push zip ไป และติดตั้ง หากไม่เห็น ให้ตรวจสอบว่าปฏิบัติตามคำสั่งก่อนหน้าถูกต้อง เราสามารถตรวจสอบได้โดย mount vendor ด้วยตนเองหากยังไม่ได้ mount และใช้คำสั่งต่อไปนี้ตรวจสอบบรรทัดที่ mount /data ว่าบอก "encryptable" แทน "forceencrypted":
adb shell "cat /vendor/etc/fstab.qcom"
/dev/block/bootdevice/by-name/userdata /data f2fs rw,discard,nosuid,nodev,noatime,nodiratime,nobarri er,inline_xattr,inline_data wait,check,formattable,encryptable=/dev/block/bootdevice/by-name/metadata
สังเกตที่บอก "encryptable" หมายความว่าตอนนี้เรามีตัวเลือกทำได้ ไม่ได้ถูกบังคับ หากยังคงบอก "forceencrypted" ให้ mount vendor ด้วยตนเองและลองใหม่
เพื่อความปลอดภัย ให้รีบูทกลับเข้าสู่ TWRP อีกครั้ง เพื่อให้แน่ใจว่าทุกอย่างเห็น data partition mounted ถูกต้อง และสไลด์อีกครั้งเพื่ออนุญาตให้ system mount re-writable (r/w)
ดาวน์โหลด Magisk Beta และวางไว้ในโฟลเดอร์ ADB แล้วรันคำสั่งต่อไปนี้เพื่อ push boot image ไปที่อุปกรณ์:
adb push Magisk-vxxx.zip /tmp
แทนที่ Magisk-vxxx.zip ด้วยเวอร์ชันล่าสุดของ Magisk Beta
แฟลชไฟล์ Magisk .zip จาก TWRP จากปุ่ม Install ในเมนูหลัก TWRP ไปที่โฟลเดอร์ /tmp (หรือที่ push ไว้) เลือกและติดตั้ง Magisk ควรแสดง success รีบูทอุปกรณ์
จะแสดง N/A ที่มุมบนของอุปกรณ์เป็น vàiวินาที เป็นเรื่องปกติ เพราะ boot image ไม่ได้ลงนาม จึงแสดง N/A แทน อาจดูเหมือน bootloop ที่หน้าจอนั้น ให้ปล่อยไว้ จะบูทหน้าจอ Motorola และสามารถตั้งค่าโทรศัพท์เป็นเครื่องใหม่ได้
ตรวจสอบว่า Magisk Manager ติดตั้งแล้ว และฟังก์ชันรูททำงานได้
ไฟล์ต่อไปนี้ให้เพื่อวัตถุประสงค์สำรองเท่านั้น หากลืมสำรองเอง เมื่อ pull จากโทรศัพท์ images จะมีขนาด full partition ไใช่ขนาดจริง
XT1925-6 (OPS27.104-15-10) Factory pulled files
ไฟล์เหล่านี้จะคืนคุณสู่สต็อกได้ตามที่คำแนะนำนี้เกี่ยวข้อง จำไว้ว่า 'bad key' จะแสดง เพราะถูก pull จากอุปกรณ์ ไม่ได้มาจาก Motorola โดยตรง
- Factory boot image – XT1925-6_factory-boot.img
- Factory recovery image – XT1925-6_factory-recovery.img
- Factory fstab.qcom file – factory-fstab.qcom– สามารถ push ไฟล์นี้ไปที่ /vendor/etc/ เพื่อกลับสู่ vendor partition สต็อกหากต้องการ Factory boot images อาจมีปัญหาบูทหาก vendor ไม่ได้เป็นสต็อกสมบูรณ์