[新手教程] 【乐教:新人教程】完全刷机教程!(5楼更新问答-11.25)

本帖最后由 loyo 于 2009-11-25 17:45 编辑

本教程主要针对G1玩家。G2/G3仅供参考,切勿轻易尝试!

说在前面的话
算起来我绝对不是个高手,最多就是一只大鸟,因为我对这个手机和系统仅仅只有40天的了解而已。不过是喜欢看XDA,所以学会了一些对我而言觉得比较方便、且安全的方法,仅此而已。现在分享出来给菜鸟们,希望菜鸟们能喜欢。

我是个不喜欢使用太多软件的人,所以很多教程中说道的分区软件,以及新手们常用的91助手、APK安装器等,都不在我的考虑范围之内,本贴不会提供下载地址,更加不会在我的教程中出现,当然有些步骤的有些方法是可以通过这些软件来实现的,如果你喜欢的话,可以继续使用。

另外,此教程是我个人喜欢的方法,也证实可行,如果你在刷机过程中出现了死机、变砖、SD卡损坏等现象,可与我无关哦!
特此声明!

请新手们多多研究之后再刷机,避免造成无法挽回的损失。


**************************************************************

请准备好以下的东西

硬件
  • 电脑一台(Windows操作系统,Linux或MacOSX也可以)
  • 你的手机G1/G2/G3均可
  • miniUSB数据线
  • MicroSD/TF卡(推荐使用4G/8G的)
软件

**************************************************************

刷机前你可能需要了解的知识(强烈推荐看完)
【乐教:新人必读】G1实用信息与名词解释
【乐教:新手必读】Windows平台下ADB的安装与使用
【乐教:新手教程】关于Fastboot
【乐教:新手教程】在Ubuntu和MacOS下安装Android SDK/ADB/Fastboot(Windows用户跳过此教程)
【乐教:新人教程】新人应该知道的几个小技巧

**************************************************************

安装USB驱动/ADB/Fastboot
不同操作系统的手机玩家根据上面的教程安装好USB驱动/ADB/Fastboot

**************************************************************

完成以上的准备工作后,让我们进入第一章吧!

GoGoGo!!!
8

评分人数

  • isavedeagal

  • chaosyi

  • rddhome

  • 小六

  • nikey

  • wutao667

  • 50663716

  • fancl

Pure Black T.Mobile G1
KiNgxKxROM V1.8 - Recovery 1.4
7.4GB fat32/500MB ext3/96MB linux-swap

本帖最后由 loyo 于 2009-11-2 13:36 编辑

第一章

本章节是刷机基础,如果没有这些做铺垫的话,可能会出现一些问题。不过,完成了本章的内容后,以后刷机都可以跳过此部分。



**************************************************************

第一节 获取Root权限

通常情况下,国内购买的G1基本都已经获得了Root权限,如果没有的话,请查看下面的帖子。
G1详细获得ROOT的教程,只要10分钟!
Androidin全球首发,G3 Hero中文破解获取Root教程

**************************************************************

第二节 更新Recovery

已刷过cm-recovery的,可跳过此步。
将下载好的 cm-recovery-1.4.img 复制到SD卡根目录,
将手机用数据线和电脑连接,
在 cmd 中输入(注意:手机中不可加载SD卡,ADB需设置好)
  1. adb shell
  2. flash_image recovery /sdcard/cm-recovery-1.4.img  ===回车
复制代码

如果出现“no space on device”,则在 cmd 中输入
  1. fastboot erase recovery  ===回车
  2. fastboot flash recovery cm-recovery-1.4.img  ===回车
复制代码
**************************************************************

第三节 刷新Radio

已刷最新Radio的,可跳过此步。
Radio的作用就是通信,刷最新版的Radio可以解决通话、Wifi、蓝牙的一些问题,比如听音乐时来电,通话结束后音乐播放无声。
新版Radio刷新方法如下:

1. 将 ota-radio-2_22_19_26I.zip 更名为 update.zip 复制到SD卡的根目录
2. 重启手机进入 Recovery 模式(关机后,按住“Home”开机)
3. 按“Alt+S”刷新
成功后,多等一会,手机就会重新启动了。

**************************************************************

第四节 刷新SPL

已刷过SPL的,可跳过此步。
刷 SPL 前,最好查看一下你自己手机的主板是不是 PVT 的,如果不是的话,请不要轻易刷 SPL 1.33.2005,否则手机变砖了,我可不负责哦!

进入Bootloader模式查看手机相关信息
重启手机进入 Bootloader 模式(关机后,按住“照相”键开机,直到屏幕出现与下图相似的画面)

可以看到前4行分别是
  1. DREAM PVT 32B ENG S-OFF
  2. HBOOT-1.33.2005 (DREA*****)
  3. CPLD-4
  4. RADIO-2.22.19.26I
复制代码
第一行如果包含PVT,就说明主板是 PVT 的
第二行和第四行,分别是 SPL 版本号和 Radio 版本号
第二行括号中DREA后面如果是*****则说明手机是英版的,10000是美版的,11000是欧版的
有的可能显示如下的信息
  1. DREA100 PVT 32B
  2. HBOOT-0.95.0000
  3. CPLD-4
  4. RADIO-2.22.19.26I
复制代码
第一行中DREA后面的数字的含义同前面所说,只是从5位变成3位了。

确定了手机主板是PVT的,就可以刷 SPL 1.33.2005 了,方法如下:
1. 将 spl-signed.zip 更名为 update.zip 复制到SD卡的根目录
2. 准备一个 Rom 包,文件名随意,因为刷完 SPL 后,最好重刷一下系统
3. 重启手机进入 Recovery 模式(关机后,按住“Home”开机)
4. 按“Alt+S”刷新,结束后,在手机屏幕变黑时,按住“Home”键,直至进入 Recovery 模式为止
5. 按“Alt+A”选择你放入的 Rom 包刷新手机系统,结束后,重启手机
注:如果你这时还没有分区,此时刷的 Rom 推荐用AN卓的,如果已分区,则直接刷 CyanogenMod 的 Rom 吧。

**************************************************************

至此你已经获得了Root权限,刷上了最新的Radio和SPL,可以进入第二章了。
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
1

评分人数

Pure Black T.Mobile G1
KiNgxKxROM V1.8 - Recovery 1.4
7.4GB fat32/500MB ext3/96MB linux-swap

TOP

本帖最后由 loyo 于 2009-9-11 15:01 编辑

第二章

本章节介绍如何分区,如何刷机。
注明:此教程主要使用Adb工具,不会用到任何分区软件,如果你对输入命令反感的话,参考论坛里用软件分区的相关帖子。

**************************************************************

第一节 备份第2分区

如果你曾分区过,那么也许你需要备份你在第2分区安装的软件备份你的第2分区到电脑当前目录。
在 cmd 中输入下列命令
  1. adb pull /system/sd/ %CD%\sdbackup  ===回车
复制代码


恢复备份到你手机的第2分区
在 cmd 中输入下列命令
  1. adb push %CD%\sdbackup /system/sd  ===回车
复制代码
**************************************************************

第二节 给你的SD卡分区

第一步 删除SD卡的所有分区

重启你的手机进入 Recovery 模式

选择最后一项“[Alt+X] go to console”(进入控制台)


打开 cmd 输入
  1. adb shell  ===回车
  2. parted /dev/block/mmcblk0  ===回车
  3. print  ===回车
复制代码
你的屏幕上可能会返回下面的错误
"No Implementation: Partition 1 isn't aligned to cylinder boundaries. This is still unsupported."
修复方法,输入
  1. mklabel msdos  ===回车
  2. ===将会提示你
  3. Warning: The existing disk label on /dev/block/mmcblk0 will be destroyed and all data on this disk will be lost. Do you want to continue?
  4. parted: invalid token: msdos
  5. Yes/No?   ===输入 Yes 回车
  6. New disk label type?   ===输入 msdos 确认
复制代码
然后重新输入
  1. print  ===回车
复制代码
你将会看到类似下图的信息(下图是我的SD卡信息)

蓝色框内的部分就是SD卡的主要信息。
黄色框内的是SD卡最大容量。
绿色框内的是SD卡内现有的分区列表信息(包括起始位置、大小、类型、文件系统等)。

如果你的SD卡是新卡的话,也有可能不会有绿色框内的信息,这样的话你就可以直接对SD卡进行分区了,否则的话,输入下面的命令删除所有分区。
  1. rm 1  ===回车
  2. rm 2  ===回车(如果你有第2分区的话)
  3. rm 3  ===回车(如果你有第3分区的话)
复制代码
注意:完成这些后,不要退出或关闭 cmd 窗口

--------------------------------------------------------------

第二步 计算分区大小

创建分区前,我们先计算一下每个分区应该要多大,拿我的SD卡举例来说。
从刚才的图片可以看到我的SD卡最大有 8166MB,我打算给 linux-swap 分 32MB,给 ext2 分 500MB,所以各个分区具体大小如下:
8166MB - 32MB linux-swap = 8134MB
8134MB - 500MB ext2 = 7634MB fat32

一般来说 linux-swap 最好不要超过 32MB,而 ext2 分区留 500MB 足够了。
下面给大家几个分区的建议:
8GB卡 32MB linux-swap,500MB ext2/3/4,其余fat32
4GB卡 32MB linux-swap,500MB ext2/3/4,其余fat32
2GB卡 32MB linux-swap,500MB ext2/3/4,其余fat32


--------------------------------------------------------------

第三步 创建分区

创建分区必须按照 fat32,ext2,linux-swap 的顺序进行。

按照下面的命令来创建分区
  1. mkpartfs primary fat32 0 7634  ===回车
  2. mkpartfs primary ext2 7634 8134   ===回车
  3. mkpartfs primary linux-swap 8134 8166   ===回车
  4. print  ===回车
复制代码
至此,你将看到类似下图的信息

蓝色框内的就是你刚刚创建好的分区
退出当前模式(不是关闭窗口),请输入
  1. quit  ===回车
复制代码
你会看到这样一条信息
Information: You may need to update /etc/fstab.
不过没有关系,我们接下来转换ext2分区成ext3/ext4

--------------------------------------------------------------

第四步 转换ext2成ext3/ext4

尽管 ext4 可能会更快一点,但是如果你想尝试刷各种不同的 Rom 的话,那我建议你暂时只转换成 ext3 比较好,因为只有一些 Rom 支持 ext4 分区。
输入下面的命令将 ext2 转换成 ext3
  1. upgrade_fs  ===回车
复制代码
期间会出现下图中绿色框里的内容,但不要输入任何内容,直至你看到“/ #”为止。


如果要转换成 ext4,需先转换成 ext3,然后执行下面两条命令,否则请跳过。
  1. tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p2  ===回车
  2. e2fsck -fpDC0 /dev/block/mmcblk0p2  ===回车
复制代码
至此分区就创建完毕,不用关闭 cmd 窗口

**************************************************************

第三节 刷新Rom

说明:正常的刷机方法见第四节

当你转换好分区后,你就可以开始刷 Rom 了。如果你还没有往手机里复制 Rom 的 zip 包,打开一个新的 cmd 窗口,输入下列命令。
  1. adb shell mount /sdcard  ===回车
  2. adb push F:\\update.zip /sdcard  ===回车
  3. exit  ===回车
复制代码
期间会看到类似下图的内容


在之前分区的 cmd 窗口内输入下面的命令重启手机进入 Recovery 模式
  1. reboot recovery  ===回车
复制代码
进入 Recovery 模式后,按“Alt+W”清楚数据,再按“Alt+S”刷新 Rom

**************************************************************

第四节 正常的刷机方法

请记住此方法,以后刷机都这样刷哦!
  • 将 Rom 的 zip 包复制到SD卡的根目录,并改名为 update.zip
  • 重启手机进入 Recovery 模式
  • 按“Alt+W”清楚数据(可选,根据你刷的 Rom 来决定是否清楚数据)
  • 再按“Alt+S”刷新 Rom
  • 刷机新结束后,按“Home+Back”重启手机
(注:也可用轨迹球来选择要执行的命令)

**************************************************************

至此,你的SD卡就分好区了,也用上了你喜欢的 Rom。接下来进入第三章。
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
Pure Black T.Mobile G1
KiNgxKxROM V1.8 - Recovery 1.4
7.4GB fat32/500MB ext3/96MB linux-swap

TOP

本帖最后由 loyo 于 2009-9-11 11:44 编辑

第三章

本章节介绍手动操作 A2SD 和 Swap。
由于有些 Rom 不支持自动 A2SD 和 Swap,所以有时我们不得不手动进行 A2SD 和 Swap。

**************************************************************

第一节 手动设置A2SD

方法一:简单设置A2SD
打开手机上的超级终端或者打开电脑上的 cmd 输入 adb shell,然后输入下列命令
  1. su  ===回车
  2. cp -a /data/app /system/sd/  ===回车
  3. rm -r /data/app  ===回车
  4. ln -s /system/sd/app /data/app  ===回车
  5. reboot  ===回车
复制代码

手机重启后,A2SD就可以用了。

方法二:完整设置A2SD
打开手机上的超级终端或者打开电脑上的 cmd 输入 adb shell,然后输入下列命令
  1. su  ===回车
  2. busybox df -h  ===回车
复制代码


如果你没有在列表中看到“/system/sd”,那么你可能需要重新安装一下你的SD卡或者重新格式化你的SD卡,然后重新打开手机上的超级终端或者打开电脑上的 cmd 输入 adb shell。
输入下列命令
  1. busybox cp -a /data/app /system/sd/  ===回车
  2. busybox cp -a /data/dalvik-cache /system/sd/  ===回车(可选)
  3. busybox cp -a /data/data /system/sd/  ===回车(可选)
复制代码


完成后,重启手机进入 Recovery 模式,按“Alt+X”进入控制台,按回车后,你会看到有个“#”。


输入下列命令
  1. mount data  ===回车
  2. rm -rf /data/app  ===回车
  3. ln -s /system/sd/app /data/app  ===回车
  4. rm -rf /data/data  ===回车(可选)
  5. ln -s /system/sd/data /data/data  ===回车(可选)
  6. rm -rf /data/dalvik-cache  ===回车(可选)
  7. ln -s /system/sd/dalvik-cache /data/dalvik-cache  ===回车(可选)
  8. reboot  ===回车
复制代码


完成后,A2SD 也就设置好了,除非你重新刷 Rom,否则无需再设置。

**************************************************************

第二节 手动设置Swap

点击此处下载手动设置 Swap 所需的文件

安装方法一:
将文件解压缩,打开 cmd 进入文件所在的文件夹,输入下列命令:
  1. adb push userinit.sh /system/sd  ===回车
  2. adb shell chmod 755 /system/sd/userinit.sh  ===回车
  3. adb push user.conf /system/sd  ===回车
  4. adb shell chmod 755 /system/sd/user.conf  ===回车
  5. adb shell reboot  ===回车
复制代码


安装方法二:
将文件 userinit.sh 和 user.conf 复制到手机SD卡根目录
打开手机的超级终端,输入下列命令:
  1. su  ===回车
  2. mount -o remount,rw /dev/block/mtdblock3 /system  ===回车
  3. cp /sdcard/userinit.sh /system/sd  ===回车
  4. cp /sdcard/user.conf /system/sd  ===回车
  5. chmod 755 /system/sd/user.conf  ===回车
  6. chmod 755 /system/sd/userinit.sh  ===回车
  7. reboot  ===回车
复制代码


几点说明
user.conf 文件是设置文件,可以 compcache 和 linux-swap 等的开/关。默认设置是 32MB compcache开启。

下面提供几种设置方案
  1. 只使用 linux-swap
  2. -set compcache=0
  3. -set cc_backingswap_en=0
  4. -set linux_swap_en=1

  5. 只使用 compcache 无 backing_swap
  6. -set compcache=1
  7. -set cc_backingswap_en=0
  8. -set linux_swap_en=0
  9. -set cc_disksize=32 (32*1024 = 32768kb = 32MB)
  10. -set cc_memlimit=0

  11. 使用 compcache 带 backing_swap
  12. -set compcache=1
  13. -set cc_backingswap_en=1
  14. -set linux_swap_en=0
  15. -set cc_disksize=0
  16. -set cc_memlimit=8

  17. 使用 compcache 带 linux swap
  18. -set compcache=1
  19. -set cc_backingswap_en=0
  20. -set cc_disksize=32
  21. -set cc_memlimit=0
  22. -set linux_swap_en=1

  23. 使用 compcache + backingswap 和 swap 文件
  24. -set swap_file_en=1
  25. -set linux_swap_file_size=32
  26. -set linux_swap_file=/system/sd/swap.file
  27. -set cc_memlimit=8
  28. -set cc_backingswap=/system/sd/swap.file
复制代码
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
Pure Black T.Mobile G1
KiNgxKxROM V1.8 - Recovery 1.4
7.4GB fat32/500MB ext3/96MB linux-swap

TOP

本帖最后由 loyo 于 2009-11-25 17:45 编辑

回答一些问题:

1. 刷过最新Radio和SPL的,还需要再刷吗?
答:无需再刷,可跳过相应步骤。

2. 如何自动A2SD和SWAP?
答:必须选择带自动A2SD和SWAP的ROM刷机。刷机前,必须确保SD卡上已分好ext2/ext3/ext4及linux-swap分区。

3. 可否不刷SPL?
答:可以。

4. 可否不刷cm-recovery?
答:可以。

5. 我的recovery没有Alt+X的选项?
答:此选项只在cm-recovery中存在。

6. 我可否选择其他分区方式?
答:可以。

7. 此教程的方法是否可在G1上刷HERO?
答:可以。

8. 关于ext2/ext3/ext4的问题
答:理论上数字越大,速度越快,推荐使用ext3,是因为大部分rom都支持ext3,不过现在的rom基本都已经可以支持ext4了。

9. MD5的问题
答:我提供的都是别人的链接或者google code里的链接,所以不存在下载了会出错的问题,如果真有,请知会一声,我更新链接。

10. 关于刷SPL的问题
答:刷SPL前必须刷RADIO(已达到要求的RADIO可不必再刷),刷SPL后必须马上进入recovery刷rom,不可以刷完SPL后就进系统,会进入死循环的。



其他问题待补充……
Pure Black T.Mobile G1
KiNgxKxROM V1.8 - Recovery 1.4
7.4GB fat32/500MB ext3/96MB linux-swap

TOP

沙发 不错的教程 感谢楼主
有问题直接新手区提问,站内信息时间关系不能及时回复!
点击请看新手教程
点击请看新手百科

TOP

不错不错 很清楚

TOP

我重命名为   recovery.img  了

然后刷时出现问题
flash_image recovery /sdcard/recovery.img          (recovery后有一个空格)
显示  error opening /sdcard/recovery.img: No such file or dictionary
如果输入
flash_image recovery/sdcard/recovery.img  (recovery后没空格)
则显示  flash_image recovery/sdcard/recovery.img
            usage: flash_image  partition file.img

下载了
cm-recovery-1.4-32A.img 还是同样问题,请问怎样解决呀?

TOP

我重命名为   recovery.img  了

然后刷时出现问题
flash_image recovery /sdcard/recovery.img          (recovery后有一个空格)
显示  error opening /sdcard/recovery.img: No such file or dictionary
如果输入
flash_image recovery/sdcard/recovery.img  (recovery后没空格)
则显示  flash_image recovery/sdcard/recovery.img
            usage: flash_image  partition file.img

下载了
cm-recovery-1.4-32A.img 还是同样问题,请问怎样解决呀?

TOP

可惜原来那个帖子也很经典的嘛
孤独来自别人,寂寞的却是自己的梦想!

TOP