Thứ Sáu, 25 tháng 2, 2011

Root HTC Tattoo trên Linux

Bước 1: Tải về và giải nén Android SDK: http://developer.android.com/sdk/index.html
Bước 2: Bật tùy chọn USB Debugging trên điện thoại (Menu > Settings > Applications > Development > USB Debugging)
Bước 3: Nối điện thoại với máy tính bằng cáp USB.
Kiểm tra xem điện thoại đã được nhận ra chưa bằng lệnh sau trong thư mục android-sdk-linux_x86/tools:
./adb devices
Nếu kết quả hiện ra là ???????????? no permissions thì phân quyền người dùng chưa đúng. Tạo tập tin /etc/udev/rules.d/90-android.rules có nội dung sau:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
sau đó chạy lệnh: sudo udevadm control --reload-rules
Nếu kết quả hiện ra giống thế này, HTC Tattoo đã được kết nối đúng (có thể rút ra cắm lại):
List of devices attached
HT9A5LG01716 device
Bước 4: Tải gói này về và giải nén vào thư mục android-sdk-linux_x86/tools
Chạy các lệnh sau:
./adb push tatt00hack/m7 /data/local/bin/
./adb push tatt00hack/tattoo-hack.ko /data/local/bin/
./adb shell chmod 755 /data/local/bin/m7
Bước 5: Lấy tập tin su này (86944 byte), đặt trong thư mục android-sdk-linux_x86/tools và push vào HTC Tattoo:
./adb push su /data/local/bin/
./adb shell chmod 755 /data/local/bin/su
Bước 6: Chạy lệnh ./adb shell
Trong shell, chạy các lệnh:
$ cd /data/local/bin
$ while do ./m7 ; done
Shell sẽ chuyển từ $ thành #
Bước 7: Thiết lập /system thành writable
Trong shell của bước 6:
# export LD_LIBRARY_PATH=/system/lib
# export PATH=/system/bin
# insmod /data/local/bin/tattoo-hack.ko
# mount -o rw,remount /dev/block/mtdblock3 /data
# mount -o rw,remount /dev/block/mtdblock5 /system
# cat /data/local/bin/su > /system/bin/su
# chown root.root /system/bin/su
# chmod 4755 /system/bin/su
# rm /data/local/bin/su
# reboot