8/05/2012

Ubuntu : root i-mobile i-Style Q2


How to root i-mobile i-Style Q2 (On Linux only) 

** การ root ทำให้หมดประกันกับทาง I-mobile น่ะครับ ต้องมีความรู้เกี่ยวกับการใช้คำสั่งใน Ubuntu พอสมควร ผมไม่รับรองกับความเสียหายที่จะเกิดขึ้นกับเครื่อง น่ะครับแต่เครื่องผม ทำได้ตามนี้ครับ

สำหรับตอนนี้เท่านั้นนะครับ เพราะยังไม่มีไดรเวอร์ ADB (Android Debugging) บน Windows ทำให้ไม่สามารถใช้ได้ หลัก ๆ เลยคือต้องใช้ ADB ในการจัดการครับ ซึ่งเครื่องที่ยังไม่ root จะไม่สามารถใช้งาน Terminal Emulator ทั้งหลายบนโทรศัพท์ได้ ดังนั้น จึงต้องใช้งานผ่าน Desktop เพียงอย่างเดียวครับ บน Linux นั้นไม่ต้องมีไดรเวอร์ของ ADB เพียงแค่รู้รหัส OEM ก็พอครับ ทีละขั้นตอนเลยนะครับ

1. ต้องมี Linux ก่อน จะเป็นดิสโทรอะไรก็ได้ตามสะดวก แนะนำ Ubuntu ครับ ติดตั้งง่าย แนะนำว่าติดตั้งจริง ๆ ดีที่สุดครับ หรือถ้าติดตั้บบน Virtual Machine ทั้งหลายก็ต้องตั้งค่าสาย USB ให้ดี ใครถนัดวิธีไหนก็ตามสะดวกครับ (ไม่แนะนำ WUBI นะครับ ปัญหาเยอะ)

2. ติดตั้ง JAVA จะเป็นเวอร์ชั่นล่าสุด ถ้าเอาง่าย ๆ ใน Repository จะมี OpenJDK Runtime อยู่ ใชัตัวนี้ได้เลยครับ ถ้าเป็น Ubuntu ก็เปิด Ubuntu Software Centre หา Java ในนั้น หรือ Distro อื่ นๆ ก็ตามวิธีครับ แต่มี OpenJDK เหมือนกันแน่นอน

**สำหรับคนที่ติดตั้ง Linux แบบ 64bit ต้องติดตั้ง ia32-libs ด้วยนะครับ**

3. เมื่อติดตั้ง JAVA เรียบร้อยแล้ว ไปดาวน์โหลด Android SDK สำหรับ Linux ที่ http://developer.android.com/sdk/index.html โดยเลือกของ Linux ถ้าลงแบบ 64 bit ก็ไม่ต้องสนใจครับ ใช้ตัว i386 นั่นแหละ ดาวน์โหลดเสร็จแล้วแตกไฟล์ไว้ที่ Home ก็ได้ครับ เวลาใช้งานผ่าน Terminal จะได้ง่าย

4. เปิด Terminal ขึ้นมา (อาจชื่อ GNOME Terminal ตัวไหนก็ได้) มันจะพร้อมอยู่ที่ HOME folder เป็นเรื่องปกติ ก็พิพม์ cd android-sdk-linux เมื่อเข้าไปในนั้นแล้วก็สั่งคำสั่งนี้ครับ  tools/android update sdk --no-ui  ถ้าไม่มีอะไรผิดพลาดมันจะค่อย ๆ โหลดทุกอย่างมาครับ ทุกอย่างตามความเร็วเน็ต

5. เมื่อดาวน์โหลดจนเสร็จเรียบร้อย ลองกลับไปดูที่โฟลเดอร์ android-sdk-linux/platform-tools ครับ ในนั้นจะมีไฟล์ชื่อ adb แสดงว่าเรียบร้อยแล้ว

6. ที่โทรศัพท์ ไปที่ Settings > Development Options  ดูที่ USB Debugging ถ้ายังไม่ได้ติ๊กก็ติ๊กด้วยครับ

7. เชื่อมต่อโทรศัพท์เข้ากับคอมพิวเตอร์ เปิด Terminal แล้วพิมพ์ lsusb กด Enter จะมีรายการ USB ต่าง ๆ ขึ้นมา ให้หาบรรทัดที่เขียนว่า High Tech Computer ครับ ในบรรทัดนั้นก่อนหน้าชื่อที่บอกไปจะมีเลข xxxx:xxxx อยู่ 4 ตัวหน้าคือรหัส OEM ของเครื่อง และ 4 ตัวหลังคือรหัสรุ่นครับ ในที่นี้เราจะ root เจ้า Q2 ถ้าเปิด USB Debugging แล้วเลขที่ได้ไม่น่าจะต่างกัน จะต้องเป็นเลข 0bb4:0c03 ครับ

8. จาก Terminal พิมพ์ sudo gedit /etc/udev/rules.d/50-android.rules กด Enter จะขึ้นหน้าต่าง text editor ขึ้นมา หรือจะใช้ text editor ตัวอื่นก็ได้ตามถนัด พิมพ์ตามนี้ครับ SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0bb4″, ATTRS{idProduct}==”0c03″, MODE=”0666″ จากนั้นเซฟไฟล์ได้เลย (ซึ่งการเพิ่มแบบนี้จะเพิ่มได้เรื่อย ๆ หากคุณมี Android เครื่องอื่นก็สามารถสร้างไฟล์ 51,52,53 ต่อไปได้เรื่อย ๆ แล้วเปลี่ยนเลขให้ตรงกับรุ่นครับ)

9. เรียบร้อยแล้วก็กลับมาที่ Terminal พิมพ์ cd android-sdk-linux/platform-tools สั่ง ./adb devices จะต้องขึ้นเลขชุดนึงขึ้นมา และต่อท้ายด้วย device ประมาณนี้

0123456789ABCDEF    device

แต่ถ้าขึ้นเป็น ????????????????    no permissions ให้ทำดังนี้ครับ ใน Terminal ตรงพาร์ทนั้นครับไม่ต้องเปลี่ยน พิมพ์

sudo su
./adb kill-server
./adb start-server

จากนั้นถอดสาย USB ออกจากโทรศัพท์ เสียบใหม่อีกครั้ง แล้วสั่ง ./adb devices จะเห็นเลขเป็นชุด ๆ อย่างข้างบนครับ

................

เมื่อสามารถใช้งาน ADB ได้แล้ว ต่อไปคือการ root ครับ สำคัญที่ไฟล์นี้ โหลดเลยครับ root mt6575.rar

แตกไฟล์ทั้งหมดใส่ในโฟลเดอร์ platform-tools ครับ เพราะเราจะ ADB จากในนั้น เรียบร้อยแล้วทำตามนี้ครับ (หรือจะเปิดไฟล์ .bat แล้วทำตามวิธีในนั้นก็ได้ ผมก็ทำตามในนั้น แต่เอามาเรียบเรียงให้ง่าย ๆ ตรงนี้แล้วกันนะครับ)

**ปิดเครื่อง ถอดแบตออก ใส่ใหม่ กด Vol Down + Power พร้อมกัน เข้า Factory Test Mode แล้วค่อยเชื่อมต่อกับคอมพิวเตอร์ครับ ไม่งั้นจะเจอ Permission Denied ครับ**

Step 1
./adb shell mv /data/local/tmp /data/local/tmp.bak
./adb shell ln -s /data /data/local/tmp
./adb reboot


โทรศัพท์จะรีสตาร์ทครับ แต่ถ้าดับก็ไม่ต้องตกใจ ผมก็ดับครับ ช่างมัน เปิดเองเลย เมื่อเปิดแล้วก็ขั้นตอนต่อไปครับ (บางครั้งจะเปิดไม่ติดต้องถอดแบตรออกแล้วเปิดใหม่น่ะครับ)

Step2
./adb shell rm /data/local.prop > nul
./adb shell "echo \"ro.kernel.qemu=1\" > /data/local.prop"
./adb reboot



Step3
./adb shell id

ตรงนี้ถ้าขึ้นประมาณ "the id is 0 / root" แสดงว่ามาถูกทางแล้วครับ ถ้าไม่ใช่ทำใหม่ตั้งแต่ต้นเลยครับ

ในกรณีสำเร็จนะครับ ทำต่อไปดังนี้

./adb remount
./adb push su /system/bin/su
./adb shell chown 0.0 /system/bin/su
./adb shell chmod 06755 /system/bin/su
./adb push busybox /system/bin/busybox
./adb shell chown 0.0 /system/bin/busybox
./adb shell chmod 0755 /system/bin/busybox
./adb push Superuser.apk /system/app/Superuser.apk
./adb shell chown 0.0 /system/app/Superuser.apk
./adb shell chmod 0644 /system/app/Superuser.apk
./adb push RootExplorer.apk /system/app/RootExplorer.apk
./adb shell chown 0.0 /system/app/RootExplorer.apk
./adb shell chmod 0644 /system/app/RootExplorer.apk

./adb shell rm /data/local.prop
./adb shell rm /data/local/tmp
./adb shell mv /data/local/tmp.bak /data/local/tmp
./adb reboot


เปิดเครื่องอีกครั้ง จะเห็นไอคอน Super User และสามารถให้ Permission กับแอพที่ต้องการสิทธิ์ root เช่น Titanium Backup ได้ครับ ลองดู

unroot 

"unroot ไปลบ File 
/system/bin/su
/system/app/superuser
/system/app/rootexplorer 
โดยใช้ rootexplorer ลบนะครับ"

ขอบคุณที่มา
http://www.pex.in.th/2012/07/how-to-root-i-mobile-i-style-q2-on.html#comment-form

No comments:

Post a Comment