zoukankan      html  css  js  c++  java
  • 重新整理的并补充Linux/Ubuntu下降级HTC Desire HD,Root,刷CM7.1

    教程我不知道现在对各位有没有用,毕竟DHD现在已经不是机皇了,老爷机一台,焕发青春全靠CM7.1了,相信**作流畅非常不错的。好的开始吧(整个过程请打开手机调试,备份好您的数据)。
    此教程由本人总结多方面内容汇集,感谢G2Root IRC大大们的指导。此教程分为四大板块:一、配置Linux下的adb;二、制作金卡;三、降级;四、刷ROM

    一、配置Linux下的adb(以32位ubuntu为例,其他发行版用户注意前期工作,尤其是64位Linux用户。windows用户配置好的跳至第二板块)

    • 打开终端运行:
      1. sudo gedit ~/.bashrc
      复制代码
      。滚到最下方,添加以下代码:
      1. export PATH=${PATH}:/user/android-sdk/tools
      复制代码
      (注意user处是各位Linux用户的用户名)。
    • 虽然关闭文件,终端运行:
      1. sudo cp /user/android-sdk/tools/adb /usr/bin/adb
      复制代码
      。这里的意思是将adb拷贝到/usr/bin/下。
    • 虽然也是终端运行:
      1. sudo gedit /etc/udev/rules.d/51-android.rules
      复制代码
      。然后出现的文本内填入下面的内容:
      1. SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
      复制代码
      。这里需要注意idVendor处不是乱填的,参考值:Acer: 0502 , HTC: 0bb4 , Huawei : 12d1 , LG: 1004 , Motorola: 22b8 , Samsung: 04e8, Sony Ericsson: 0fce
    • 弄好后重启Linux;
    • 登录后你会发现直接打开终端就能使用adb命令了(废话)。不过还有点小问题,继续解决adb devices出现和本级root权限冲突的问题。按照下面的方法解决。
    • 打开终端:cd到adb所在目录(注意,有两个目录,一个在/home/user/android-sdk/platform-tool/,另一个在/usr/bin下)下面的代码分别多这两个目录下的adb执行一次
    • 假设现在已经cd到/home/user/android-sdk/platform-tool/目录,首先执行ls -l adb查看,结果应该是:
      1. -rwxr-xr-x 1 user user 341694 2010-05-11 05:46 adb
      复制代码
      ,然后运行:
      1. sudo chown root:root adb
      复制代码
      ,这个时候再用ls -l adb查看,结果应该是:
      1. -rwxr-xr-x 1 root root   341694 2010-05-11 05:46 adb
      复制代码
      ,接着在运行:
      1. sudo chmod u+s adb
      复制代码
      ,这个时候在运行ls -l adb结果应该是:
      1. -rwsr-xr-x 1 root root   341694 2010-05-11 05:46 adb
      复制代码
      ,终端下adb是红色的。(这个是在/home/user/android-sdk/platform-tools/目录下运行,同理到/usr/bin/下对adb执行同样的操作)
    • 重启Linux

    二、制作金卡(两种方法)

    • 第一种方式是通过网络算号获得,这个大家应该不陌生:
      • 终端:
        1. adb shell
        复制代码
      • 终端:
        1. cat /sys/class/mmc_host/mmc1/mmc1:*/cid
        复制代码
        ,需要注意的是mmc1这个问题,大家分别用mmc1, mmc0, mmc2都运行一次,如果只有一个跳出数字,那是最好的,但是我在降级的时候,mmc0和mmc2都跳出数字了,后来经过我验证mmc2的数字是真实的,mmc0是假的,当然后来我通过IRC请教G2Root的高手也验证了我的操作。
      • 跳出的数字复制粘贴到:http://hexrev.soaa.me 。再出现的一串数字复制;
      • 把上面复制的一串数字代码粘贴到下面的网站获取金卡:http://psas.revskills.de/?q=goldcard
      • 从邮箱下载后备用。
    • 第二种方式获得金卡(下载金卡制作工具,自己动手丰衣足食)
      • 下载地址
      • 获得工具名叫: flashgc,将flashgc放到/home/user/下,开始获得cid
      • 终端:
        1. adb push flashgc /data/local/tmp
        复制代码
      • 终端:
        1. adb shell chmod 755 /data/local/tmp/flashgc
        复制代码
      • 终端:
        1. adb shell /data/local/tmp/flashgc --cid /sys/class/mmc_host/mmc2/mmc2:*/cid
        复制代码
      • 获得cid就像第一种方法那样获取金卡就好了。
    • 将金卡刷到miniSD卡主引导区
      • 把手机上的miniSD卡拔出来放到读卡器里,听我的没错。
      • 看看自己的读卡器挂载到哪里,我的是/dev/sdb
      • 把你的金卡文件放到/home/user/下,终端运行:
        1. sudo dd bs=512 if=/home/user/goldcard.img of=/dev/sdb
        复制代码
      • OK,把卡插到你的DHD里

    三、降级

    • 下载必要的工具,工具包括了:fre3vo
      misc_version
      1.32.405.6 firmware
    • 首先终端:
      1. $ adb shell cat /dev/msm_rotator
      复制代码
      ,注意看结果,非常重要是不是和
      1. /dev/msm_rotator: invalid length
      复制代码
      一样,一样就继续,不一样就到G2Root IRC问问问高手吧。
    • 将下载好的三个工具包前两个解压放到/home/<user>/下,后一个不用解压,(windows下我是不知道放哪里的,因为我不会用windows配置android sdk)
    • 终端:
      1. adb push fre3vo /data/local/tmp
      复制代码
    • 终端:
      1. adb shell
      复制代码
    • 终端:
      1. chmod 777 /data/local/tmp/fre3vo
      复制代码
    • 终端:
      1. /data/local/tmp/fre3vo -debug -start FAA90000 -end FFFFFFFF
      复制代码
    • 第7步非常关键,看看是否能得到下面的结果:
      1. Buffer offset:      00000000
      2. Buffer size:        8192
      3. Scanning region fb7b0000...
      4. Scanning region fb8a0000...
      5. Scanning region fb990000...
      6. Scanning region fba90000...
      7. Potential exploit area found at address fbb4d600:a00.
      8. Exploiting device...
      复制代码
    • 如果可以,看11步,不行就看第10步
    • 没有得到第8步的朋友注意,将下面的命令分别运行直到出现第8步
      1. $ /data/local/tmp/fre3vo -debug -start 10000000 -end 1FFFFFFF
      2. $ /data/local/tmp/fre3vo -debug -start 20000000 -end 2FFFFFFF
      3. $ /data/local/tmp/fre3vo -debug -start 30000000 -end 3FFFFFFF
      4. $ /data/local/tmp/fre3vo -debug -start F0000000 -end FFFFFFFF
      5. $ /data/local/tmp/fre3vo -debug -start E0000000 -end EFFFFFFF
      复制代码
      如果看见了第8步的Exploiting device就看11步,如果还是没有,到G2Root IRC问问大大们
    • 终端:
      1. $ adb shell
      复制代码
    • 终端:
      1. # exit
      复制代码
    • 这个时候已经临时root了,注意看已经是#
    • 终端:
      1. adb push misc_version /data/local/tmp/misc_version
      复制代码
    • 终端:
      1. adb shell chmod 777 /data/local/tmp/misc_version
      复制代码
    • 终端:
      1. adb shell
      复制代码
    • 终端:
      1. /data/local/tmp/misc_version -s 1.00.000.0
      复制代码
    • 看看能不能得到下面的结果:
      1. --set_version set. VERSION will be changed to: 1.00.000.0
      2. Patching and backing up partition 17...
      复制代码
      如果有了,恭喜,如果是:
      1. Error opening backup file.
      复制代码
      ,请确定你的miniSD卡插到手机上,并且没有挂载到你的电脑上。
    • 没有问题的朋友继续终端:
      1. # sync
      复制代码
    • 终端:
      1. # dd if=/dev/block/mmcblk0p17 bs=1 skip=160 count=10
      复制代码
    • 查看下20步是不是类似下面的结果:
      1. 1.00.000.010+0 records in
      2. 10+0 records out
      3. 10 bytes transferred in 0.001 secs (10000 bytes/sec)
      复制代码
      类似的话恭喜,继续往下看。
    • 把之前下载的1.32.405.6 firmware放到手机的SD卡里,确保SD卡有足够空间(传的方法有adb push,和直接把卡拔下来读卡器传等等,我选择
      1. adb push PD98IMG.zip /sdcard/PD98IMG.zip
      复制代码
      ,慢点没事,稳妥最重要)。
    • 传完以后,再次把DHD连上电脑,终端:
      1. adb reboot bootloade
      复制代码
    • 进入的界面用音量键调整上、下,用开机按键确认操作。选择Fastboot,就可以开刷老固件了。
    • (没有成功的请将邮件发到我的邮箱

    四、刷新ROM

    • 只要降级成功了,这里就容易不少了。
    • 准备必要软件工具,包括:busyboxClockworkMod RecoveryEngineering HBoot,
      gfree 0.7
      psneuterroot_psnSuperuser package
    • 全部解压到/home/user/下(windows用户你们知道该解到哪里;
    • 终端:
      1. adb push busybox /data/local/tmp/
      2. adb push gfree /data/local/tmp/
      3. adb push hboot-eng.img /data/local/tmp/
      4. adb push psneuter /data/local/tmp/
      5. adb push recovery-clockwork-5.0.2.3-ace.img /data/local/tmp/recovery.img
      6. adb push root_psn /data/local/tmp/
      7. adb push su /sdcard/
      8. adb push Superuser.apk /sdcard/
      9. adb shell
      10. chmod 755 /data/local/tmp/*
      11. /data/local/tmp/psneuter
      复制代码
    • 终端:
      1. adb shell
      2. cd /data/local/tmp
      3. ./busybox md5sum /dev/block/mmcblk0p18
      复制代码
      把获得的md5复制粘贴到记事本或者gedit上,标记上(1)
    • 终端:
      1. ./gfree -f -b hboot-eng.img -y recovery.img
      2. ./root_psn
      3. sync
      复制代码
      可能时间会长点,等会儿
    • 终端:
      1. ./busybox md5sum hboot-eng.img
      复制代码
      ,获得的md5复制粘贴到记事本或gedit上,标记上(2)
    • 终端:
      1. ./busybox md5sum /dev/block/mmcblk0p18
      复制代码
      ,获得的md5复制粘贴到记事本或者gedit上,标记上(3)
    • 关键时刻到了。对比(1)(2)(3)个值,如果是(1)(3)一致,失败,说明的问题是降级没有每个部分都降级,有些部件还保留原先的级别,重来,或者到G2Root IRC问问;如果是(2)(3)一致,恭喜成功了,继续下一步吧;如果三个值都不相同,千万不要重启,赶快去G2Root IRC问问,重启就杯具了。
    • 终端:
      1. reboot
      复制代码
    • 开刷CM7.1,下载必要工具,包括:CyanogenMod7.1Google Apps
    • 传到SD卡上;
    • 重启进入:ClockworkMod Recovery
    • 选择:Wipe data/factory reset.,yes确定
    • 再选择:Wipe cache partition.,yes确定
    • 选择:Install zip from sdcard.
    • 再选择:Choose zip from sdcard.
    • 选择传到SD卡上的CyanogenMod update.zip
    • 弄好后,重复16~18步,将Google Apps一样刷到手机里
    • 弄好后,选择“+++++Go Back+++++”到主菜单选择重启设备

    终于用上了CM7.1,说实话,运行效率很高,GPS有点小bug,不用的时候关闭GPS即可,需要在打开。祝大家成功。

  • 相关阅读:
    springboot:springboot初识(相关概念、新建项目)
    ssm项目无法加载静态资源
    js:初识(相关概念、js代码的书写位置、注释方式、输入输出语句)
    lucene:索引维护(删除、更新、查询)
    数据库连接池:Durid(执行流程、工具类)
    redis:HyperLogLog&发布订阅(HyperLogLog的概念和命令、redis的发布订阅)
    redis:zset(赋值、取值、删除、修改分数)
    css:css3新特性(过渡)
    css:css3新特性(盒子模型的box-sizing属性、图片模糊处理、calc函数)
    css:css3新特性(属性选择器、结构伪类选择器)
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/2241124.html
Copyright © 2011-2022 走看看