ตั้งแต่วันแรกที่มีคนจาก xda-developer ค้นพบการ Jailbreak G1 ให้เราสามารถมีสิทธิ์เข้าถึงเครื่องแบบ Root ได้ ก็มีคนคอยคิดวิธีต่อยอดให้สามารถมี Root Access ให้ง่ายขึ้นเรื่อยๆ วันนี้จึงขอรวบรวมวิธีที่ได้รับความนิยมมาให้อ่านกันครับ

Root คืออะไร ทำไมต้องเป็น Root

ในโลกลินุกซ์ผู้ใช้ทุกคนจะมีสิทธิ์ในการเข้าถึงไฟล์ต่างๆกันไปหรือที่เรียกว่า Permission ซึ่ง Root คือ User ที่มีสิทธิ์ในการเข้าถึงและแก้ไฟล์ทุกไฟล์ในเครื่อง และแน่นอนมีสิทธิ์ทำให้เครื่องพังได้ด้วย!! การจะเข้าถึงเครื่องแบบ Root ได้จึงต้องใช้มีการ Login แบบพิเศษเสียก่อน โดยใช้คำสั่ง su / sudo (ย่อมาจาก Super User)

แต่สำหรับ Android Phone เครื่องแรกของโลกอย่าง G1 ที่เป็นลินุกซ์ดิสโทรหนึ่งแล้วกลับไม่เปิดให้เข้าถึงเครื่องด้วยสิทธิ์แบบ Root ได้ด้วยวิธีปกติ ข้อดีของมันคือผู้ใช้ทั่วไปไม่สามารถทำให้เครื่องพังได้ รวมถึงจะไม่มี Malware มาทำร้ายโทรศัพท์ได้ แต่ข้อเสียคือเราไม่สามารถแก้ไขระบบด้วยตัวเองได้เลย ไม่ว่าจะเป็นการเปลี่ยนฟอนต์หรือการใส่ Library เพิ่มเติม เป็นเหตุให้ต้องหาทาง Jailbreak เพื่อทวงสิทธิ์นี้คืนกัน (ว่าไปนั่น)

เงื่อนไขเบื้องต้นก่อนการ Jailbreak

เป็นที่น่าเสียดายที่ไม่ใช่ทุกเครื่องที่จะทำการ Jailbreak ได้ เพราะ Google ได้ปล่อย Patch เพื่ออัพเดตรูรั่วที่ใช้ในการ Jailbreak ไปแล้วในเฟิร์มแวร์เวอร์ชั่น RC30 ดังนั้นการ Jailbreak ในบทความนี้จะใช้ได้กับเฟิร์มแวร์เวอร์ชั่นที่เก่ากว่า RC30 เท่านั้น ซึ่งได้แก่ RC19, RC28, RC29 หากใครเผลออัพเป็น RC30 แล้วก็คงต้องรอให้มีคนเจาะได้ก่อนละกันครับ

เริ่มต้นดำเนินการ Jailbreak

วิธีที่ 1 : ทำผ่าน WiFi[/b]

ก่อนอื่นเลย เปิด WiFi ก่อน!!

จากนั้นต้องหาทางรันโปรแกรม telnetd (Telnet Daemon) ใน G1 ให้ได้ซึ่งก็มีอยู่หลายวิธีด้วยกัน แต่วิธีที่แนะนำคือให้ไปดาวน์โหลด Terminal Emulator จาก Android Market มาลงในเครื่อง

เปิดโปรแกรม Terminal Emulator และพิมพ์คำสั่งลงไปว่า

telnetd

ตามด้วย

netstat

โปรแกรม netstat จะแสดง IP ของเครื่องท่านขึ้นมาประมาณว่า 192.168.x.x ให้จำเลขนี้เอาไว้และใช้คอมพิวเตอร์ของท่านเปิดโปรแกรม telnet ขึ้นมาโดยชี้ไปที่ IP ของ G1 เช่น

telnet 192.168.1.32

หากทุกอย่างผ่านไปด้วยดี ในขั้นตอนนี้เราก็สามารถเข้าถึง Root ได้แล้ว!

จากนั้นให้ทำการ Remount โฟลเดอร์ /system ให้สามารถ Read/Write ได้ด้วยคำสั่ง

mount -oremount,rw /dev/block/mtdblock3 /system

จากนั้นจะทำอะไรบนเครื่องก็ได้จ้า แต่ระวังเครื่องพังละกันนะ!!

วิธีที่ 2 : ทำผ่านตัวเครื่องเอง

ลงโปรแกรม Android Telnet Client และ Terminal Emuator จาก Android Market

จากนั้นทำเหมือนวิธีที่ 1 เลย แต่ไม่ต้องเรียก netstat ให้เปิดโปรแกรม Android Telnet Client ขึ้นมาแล้วต่อไปยัง IP localhost แทน (เป็น Default ของโปรแกรมอยู่แล้ว) ซึ่งโปรแกรมนี้จะทำหน้าที่เหมือนกับการ telnet จากคอมพิวเตอร์ผ่าน WiFi เลยทุกประการ

หลังจากต่อเสร็จก็สั่ง remount เหมือนเดิมด้วยคำสั่ง

mount -oremount,rw /dev/block/mtdblock3 /system

เรียบร้อยแล้วจ้า!

การทำให้เข้าถึง Root ได้ง่ายขึ้น

ไปเจอวิธีมาจากเว็บ http://www.helloandroid.com ครับ

หลังจาก Jailbreak ให้เข้าถึงแบบ Root ได้แล้วให้พิมพ์คำสั่งตามนี้ครับ

cd /system/bin
cat sh > su
chmod 4755 su

จากนั้นถ้าท่านต้องการจะเข้าถึง Root ก็แค่เปิดโปรแกรม Terminal Emulator แล้วพิมพ์คำสั่ง su ก็จะเข้าถึง Root ได้ทันที ง่ายมั้ยครับ 😉 แต่ก็ระวัง เป็น Root ง่ายก็ทำเครื่องพังง่ายนะครับ ๕๕๕

นอกจากนั้นถ้าอยากจะเป็น Root ด้วย su แต่ทำผ่านทางคอมพิวเตอร์ก็ทำได้เช่นกันดังนี้

– ดาวน์โหลด Android SDK มาก่อน http://code.google.com/android/download.html

– ตามด้วย USB Driver http://dl.google.com/android/android_usb_windows.zip (ลงด้วย)

– เปิด USB Debugging ใน G1 ในหน้าจอ Settings

– ต่อ G1 เข้ากับคอมพิวเตอร์ผ่าน USB

– เข้า Command Line และ Change Directory ไปที่โฟลเดอร์ tools ของ Android SDK

– พิมพ์คำสั่ง adb shell

– จากนั้นจะเข้าสู่หน้าจอที่ทำหน้าที่เหมือน Terminal ให้สั่ง su แล้วก็ขอให้สนุกกับการเป็น Root ครับ ^^