Moto G6 là thiết bị tầm trung mới nhất trong dòng G-series bán chạy của Motorola. Nó chạy Android Oreo, chip Qualcomm SDM45 Snapdragon (Octa-core 1.8GHz Cortex-A53) và GPU Adreno 506. Thiết bị khá tốt trong tầm giá, và hiện đã có thể root hoàn toàn bằng TWRP và Magisk!
Tuy nhiên, đây không phải quy trình root dễ dàng. Hướng dẫn liên quan đến nhiều file flash và lệnh ADB. Hãy tạo bản sao lưu thiết bị trước khi tiếp tục, không chỉ đề phòng rủi ro mà còn vì một phần hướng dẫn yêu cầu reset cài đặt gốc Moto G6.
Yêu cầu:
- 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) và MotoG6-ali-boot.img (kernel và dtb build từ nguồn OPS27.104-15-10).
- Force Encryption Disabler cho ALI Oreo.
Lưu ý cho XT1925-6: Có hai boot image để tải, một stock edit và một build từ nguồn. Trong "MotoG6-ali-boot.img", kernel và device blobs được rebuild từ nguồn (OPS27.104-15-10) với verityremoved (và device blobs dùng trong TWRP cũng được rebuild để hỗ trợ thẻ SD ngoài).
Port TWRP này có một số vấn đề và do đó mang tính thử nghiệm. Nó không cho phép di chuyển file trực tiếp sang thẻ SD, nhưng bạn có thể copy thay vì move. TWRP đặt internal storage tại /SDCard, external storage tại /External_SD.
Cảnh báo: Tiếp tục hướng dẫn sẽ xóauserdata, hãy sao lưu dữ liệu! Khi flash qua bootloader, sẽ hiện thông báo "(bootloader) Image not signed or corrupt". Điều này bình thường vì image không được ký bởi Motorola.
Cách Root Moto G6
Tải TWRP image từ phần tải về hướng dẫn vào thư mục ADB/Fastboot trên máy tính.
Bật USB debugging trên Moto G6: Cài đặt > Giới thiệu > nhấn 7 lần Số bản dựng để kích hoạt Chế độ nhà phát triển, rồi vào Tùy chọn nhà phát triển bật "USB Debugging".
Khởi động vào bootloader: tắt thiết bị, giữ Power + cả hai nút Volume cùng lúc.
Khi thiết bị vào bootloader, gõ lệnh sau từ máy tính (điện thoại cắm USB):
fastboot boot MotoG6-ali-TWRP.img
Sau khi TWRP boot từ máy tính (có thể mất chút thời gian vì thử giải mã userdata nhưng sẽ fail và có thể yêu cầu mật khẩu, chỉ cần bấm 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
Điều này tạo bản sao lưu boot và recovery stock nếu sau này muốn revert.
Reboot vào bootloader từ máy tính:
adb reboot bootloader
Tải no-verity-boot image dành riêng cho thiết bị của bạn từ phần tải về, đặt vào thư mục ADB.
Chạy lệnh sau để flash boot image:
fastboot flash boot <tên-file-boot-image>.img
Flash TWRP image:
fastboot flash recovery MotoG6-ali-TWRP.img
Dùng phím Volume chọn boot to recovery, nhấn Power để vào TWRP. Sẽ nhắc mật khẩu giải mã, chọn Cancel.
BƯỚC NÀY SẼ XÓA DỮ LIỆU TRÊN ĐIỆN THOẠI. ĐẢM BẢO ĐÃ SAO LƯU TRƯỚC KHI LÀM!
Vuốt cho phép mount system đọc/ghi (r/w). Chọn "Wipe" trong TWRP và vuốt "Swipe to Factory Reset". Bước này sẽ format data do đã mã hóa (xóa internal storage). Nếu chưa mount được data trong TWRP, dùng nút "Format Data" phía trên vuốt Factory Reset – sẽ format data và xóa TẤT CẢ trên internal sdcard.
Bước này loại bỏ force-encryption khi boot đầu tiên (bạn vẫn có thể chọn mã hóa sau khi boot – điện thoại mặc định hiển thị đã mã hóa trong tab Security của Settings nhưng thực tế chưa, tùy chọn mã hóa vẫn tồn tại. Lưu ý: mã hóa thủ công lại sẽ khiến data không đọc được trong TWRP).
Có hai cách làm bước này: thủ công hoặc bằng file zip. Chúng tôi cung cấp zip đã mod để push file fstab.qcom mới đồng thời mount vendor partition. Nếu lo quay lại stock hoàn toàn, hãy backup fstab.qcom gốc bằng lệnh sau (đảm bảo đã mount vendor trong TWRP):
adb pull /vendor/etc/fstab.qcom factory-fstab.qcom
Tải zip verity-disabler từ cuối bài và push vào điện thoại (ví dụ thư mục /tmp).
Từ máy tính gõ:
adb push Force_Encryption_Disabler_For_ALI_Oreo_v2.zip /tmp
Flash zip vừa push bằng tùy chọn Install, chọn storage chứa zip và cài đặt. Nếu không thấy, kiểm tra lại các lệnh trước. Có thể verify bằng cách mount vendor thủ công nếu chưa mount và chạy lệnh sau, kiểm tra dòng mount /data có ghi "encryptable" thay vì "forceencrypted":
adb shell "cat /vendor/etc/fstab.qcom"
/dev/block/bootdevice/by-name/userdata /data f2fs rw,discard,nosuid,nodev,noatime,nodiratime,nobarrier,inline_xattr,inline_data wait,check,formattable,encryptable=/dev/block/bootdevice/by-name/metadata
Chỗ ghi "encryptable" nghĩa là ta có quyền chọn mã hóa thay vì bị ép buộc. Nếu vẫn thấy "forceencrypted", mount vendor thủ công và thử lại.
Để an toàn, reboot lại vào TWRP đảm bảo data partition mount đúng và vuốt cho phép mount r/w.
Tải Magisk Beta đặt vào thư mục ADB, push boot image:
adb push Magisk-vxxx.zip /tmp
Thay Magisk-vxxx.zip bằng phiên bản Magisk Beta mới nhất.
Flash file Magisk .zip từ TWRP (nút Install trên menu chính TWRP), điều hướng đến thư mục /tmp (hoặc nơi bạn push) chọn và cài. Magisk sẽ báo success. Reboot thiết bị.
Góc trên màn hình sẽ hiện N/A vài giây. Bình thường vì boot image không được ký nên hiển thị N/A. Có vẻ như bootloop ở màn hình đó, cứ để nó chạy, sẽ hiện logo Motorola và bạn có thể setup như điện thoại mới.
Kiểm tra Magisk Manager đã cài và chức năng root hoạt động.
Các file dưới chỉ để backup nếu bạn quên backup. Khi pull từ điện thoại, image kích thước full partition, không phải kích thước thực.
XT1925-6 (OPS27.104-15-10) Factory pulled files
Các file này đưa về stock theo hướng dẫn. Nhớ rằng 'bad key' sẽ hiển thị vì pull từ thiết bị chứ không phải từ Motorola.
- Factory boot image – XT1925-6_factory-boot.img
- Factory recovery image – XT1925-6_factory-recovery.img
- Factory fstab.qcom file – factory-fstab.qcom – có thể push file này vào
/vendor/etc/để quay lại vendor partition stock. Factory boot image có thể không boot nếu vendor không hoàn toàn stock.