分类: LINUX
2012-11-06 18:57:55
这是一篇之前发表在 Tumblr 的文章,今天关闭了 Tumblr 博客,所以重新整理了一下。
有关 Android 的刷机,中文教程能找到的基本都是在 Windows 系统上操作的,有关在 Linux 系统操作的介绍少之又少。下面我以 Motorola Defy 为例,简单介绍一下在 Ubuntu 系统上进行刷机和获取 Root 的方法。
这里的刷机指的是安装 Motorola 官方提供的 SBF 固件到手机上。
需要准备的软件有:
下面是具体的操作步骤:
步骤 1. 解压 Android SDK for Linux 工具包,安装 Android SDK Platform-tools。
$ tar -zxvf android-sdk_r18-linux.tgz # 解压 Android SDK for Linux 工具包
$ cd android-sdk-linux/tools # 切换到 android-sdk-linux/tools 目录
$ chmod +x android # 赋予 android 文件可执行权限
$ ./android # 运行 Android SDK 工具并选择安装 Android SDK Platform-tools
步骤 2. 解压 defy-tools 工具包并把目录里面的全部文件复制到 android-sdk-linux/platform-tools 目录。
步骤 3. 将 Defy 的 SBF 固件(如 defy.sbf)也复制到 android-sdk-linux/platform-tools 目录。
步骤 4. 在手机关机状态下,按减音量键和电源键进入 Recovery 擦除手机数据。
步骤 5. 同样在手机关机状态下,按加音量键和电源键进入 Bootloader 模式,用 USB 数据线连接到电脑。
步骤 6. 将 defy.sbf 固件安装到手机。
$ lsusb # 检查 USB 连接是否被正常识别
$ cd android-sdk-linux/platform-tools # 切换到 android-sdk-linux/platform-tools 目录
$ chmod +x sbf_flash # 赋予 sbf_flash 文件可执行权限
$ ./sbf_flash defy.sbf # 将 defy.sbf 固件写入到手机
安装完成后手机会自动开机进入新系统,启动正常说明本次刷机完成。
步骤 7. 开启手机的 USB 调试和允许未知来源,用 USB 数据线连接电脑。
步骤 8. 获取 Root 权限。
$ cd android-sdk-linux/platform-tools # 切换到 android-sdk-linux/platform-tools 目录
$ chmod +x adb # 赋予 adb 文件可执行权限
$ ./adb start-server # 启动 ADB 服务
$ ./adb devices # 检查手机是否被正常识别
$ ./adb push zerg /data/local/zerg # 将 zerg 传送到手机
$ ./adb shell "chmod 755 /data/local/zerg" # 更改 zerg 在手机上的权限
$ ./adb shell "/data/local/zerg" # 在手机上执行 zerg
$ ./adb remount # 挂载手机系统
$ ./adb push su /system/xbin/su # 将 su 传送到手机
$ ./adb shell "chmod 4755 /system/xbin/su" # 更改 su 在手机上的权限
$ ./adb shell "ln -s /system/xbin/su /system/bin/su" # 为 su 建立位置链接
$ ./adb push busybox /system/bin/busybox # 将 busybox 传送到手机
$ ./adb shell "chmod 755 /system/bin/busybox" # 更改 busybox 在手机上的权限
$ ./adb shell "/system/bin/busybox --install -s /system/xbin" # 在手机上安装 busybox
$ ./adb install Superuser.apk # 安装 Superuser.apk 到手机
$ ./adb shell "echo "ro.sys.atvc_allow_all_adb=1" > /data/local.prop" # 在手机上添加变量
$ ./adb reboot # 重启手机
$ ./adb kill-server # 结束 ADB 服务
至此,获取 Root 完成。