Jailbreaking iPhone: 挽救 iPhone 4 砖头机

很不好意思的,在把 iPhone 4 变成一台开发机之后,我的一个误操作把它变成了砖头机:

为了把 XCode 里 iPhone SDK 中的 header files 和 library files 拷贝到我的 iPhone 上(这么干好像是违反 iPhone 和 XCode users licence 的),我想敲两个命令:

sudo mv /usr/lib /usr/lib.bak
sudo ln -s ~/Media/iPhoneSDK/lib /usr/lib

结果很不幸的,第一个命令一敲完,系统就死了。(我没有在 Linux 或者 FreeBSD 上这么干过,不知道这俩会不会死。)

随后用 macbook 上的 iTunes 回复 iPhone 的系统。不知什么原因,我开会回来时,发现雪上加霜—— iPhone 砖头了。而且屏幕上是花的,无法关机。

于是开始了慢慢长征路:先找卖给我这个 iPhone 的中关村小铺,说无解。于是去西单大悦城的苹果店的 Genius Bar,说我买的是港版,没有发票也无法开机,不给保修。于是去了一家苹果指定维修店,一看77个人排队在我前头,而且唯一的工程师甩着淳朴的京片儿,一副憨憨的无知少年的样子。

最关键的是:在这些地方都没有看到我心中设想的高级维修设备,工程师们也都是用笔记本电脑连上 iPhone 修理。于是哥们儿心说,既然有按照百度开方子的医生,何不在自己动手 google 一下呢?难道维修工程师们的英语水平比哥这个开发工程师还牛了去了?!

于是发现可以进入 DFU mode(怎么进入请 Google)然后 iPhone 就又能被 iTunes 发现并且 restore 了。DFU mode 是执行 firmware 中的程序,但是不引导操作系统。

但是 restore 很不好意思的又失败了;给出一个错误消息说:error 3004。继续 Google,发现这里有(http://support.apple.com/kb/TS3694)各种error code 的应对方法。在执行了一个神妙命令之后,再次 restore 成功。

随后还从 iTunes 的备份中恢复了通信录、短信记录、以及配置好的邮箱和邮件等重要信息。

准备明天再次翻墙。这次要不仅要装 gcc 4.2 和 Google Go for iOS,还立志要把 Clang/LLVM 移植到 iPhone 4 上来!