本文转自chris个人博客 发现自己也很久没有写教程的东西,记得在2.0的时候,自己还是非常乐于写这种那种的教程,也解答不少问题。或许是因为现在要写的东西实在是太多了,说的现实点,一样有钱收,一样没有。那当然还是首先把能收到钱的做完嘛。不过有一些教程我觉得还是有必要的,尽管没有利益的部分,不过本身自己分享和原创的精神,还是应该去写点什么,也好给自己的BLOG增添点人气。 我还记得iPhone走Android的视频是前2天发出来的吧,当时,就{dy}时间去弄了,也成功了,这几天也一直在测试,觉得是一个很大的突破,试想一下,iPhone OS玩闷了,我们手上还有最棒最有前途的开源系统-Android。 最近也看到很多论坛已经开始有各个疯友(由于写东西的关系,已经早就习惯称呼用iPhone的朋友们叫“疯友”了)都正在弄Android,也有相应的教程贴,所以自己在WEIPHONE也不趟那个祸水啦,哈。不过根据自己的情况,这里还是从一个Win 7 的用户教疯友们,如何Linux,如何Openiboot,在Linux系统下做这一档事儿。首先我们先看看需要的一些程序和工具,也是我在IPHONE上跑Android整个的一个过程。 仅适合已经越狱的iPhone 2G 所需工具与程序: 1,【虚拟机程序】VMware 7.0 (如果你不想把自己的硬盘分成EXT4等等这样的分区就是为了弄个iPhone os+Android的话,这里当然还是推荐使用虚拟机) 下载地址: 2,【Linux系统】Ymlf OS 2.0 (为什么这里推荐这个,而不是推荐ubuntu。因为作为新手来说的话,还是雨木林风封装的ubuntu更加比较适合刚刚接触到Linux的新手使用,当然你也可以使用原汁原味的ubuntu。) 下载地址:http://xiazai.xiazaiba.com/Soft/Y/Ylmf_OS_CHS_v2.0.iso 3,【iPhone的Android文件】idroid 1.0a (这就是最近风行的idroid 1.0a,和{dy}个版本不同的是,Android已经稍微修改了一下,加了Axxple的相关驱动,让iPhone运行起来更加得心应手。) 下载地址:http://d.namipan.com/d/babc7f65353fabc82859de83e6a01bbe67856d0e12d19b02 4,【iPhone文件传输工具】iFunbox (这个也是我觉得比91助手有前途的程序,拒绝91,发表完毕。) 下载地址:http://i-funbox.com/download/ifunbox_sc.zip 步骤 A、安装Linux系统 1,首先安装虚拟机程序VMware 7.0,在安装的{zh1},我们会看到提示输入CDKEY,然后用下载下来的KEYGEN算号,输入随后下一步即可,需要重启。 2,进入到我们伟大的虚拟机VMware 7.0,准备安装Linux系统。点击新建虚拟机,选择标准安装。 2-a,选择安装盘镜像文件,这里选择我们刚下载的iso后缀的ymlf系统安装光碟。 2-b,选择Linux。 2-c,设置{zd0}磁盘大小,因为ymlf的OS大约4G,所以大家看着自己分吧,我自己是分了15G,反正现在的硬盘空间不值钱。 2-d,确认设置,分配给Linux的虚拟机诞生。 3,对现在的虚拟机稍微设置一下,点击刚刚建立的虚拟机,随后选择右侧的“编辑虚拟机设置”。 3-a,根据个人喜好,这里的Memory,也就是分配给这个系统的内存 设置了7XX MB。 3-b,设置网络,也就是让虚拟机里的Linux也能上网。(选择Bridged模式) 3-c,设置USB,USB是肯定等等要用到的,因为要在linux下操控iPhone,这里三项全选。 4,OK。进入虚拟机。虚拟机已经xx没有问题了,现在就正式安装Linux系统了。 4-a,选择【安装 Ymlf OS】,随后等待再等待,系统检查安装… 4-b,进入分区,选择手动指定分区,建立分区表。 4-c,选择空闲的空间上,然后选择添加。(这里建议这样分区(15G为例),8G[主分区、起始、Ext4日志文件系统、挂载"/"],2G(你内存多大,这里分多大)[逻辑分区、起始、交换空间、挂载留空],其余[逻辑分区、起始、Ext4日志文件系统、挂载留空])这样分就要是为了以后还要使用,如果你仅仅是为了IPHONE的话,那就全部分在一起吧。 4-d,设置自己的个人信息,例如登录名称与密码等等,照截图上稍微填写即可。 4-e,前进,安装进行中。等待5分钟就安装完毕了,这样,我们的Linux系统就搭建完毕了。 B、iPhone上安装Openiboot&Android 1,重头戏来了,也不知不觉写了这么多了。首先,我们在Windows下解压,用iFunbox工具把解压过后中的\prebuilt目录下的6个文件(除openiboot.img3)全部复制到iPhone目录private/var/下。 2,进入Linux系统(虚拟机),使用linux中的浏览器进入一下的网站下载usblib包(),随后在浏览中打开安装即可。 3,将刚刚下载的解压出来的所有文件可以放在移动硬盘或U盘,插上U盘,随后在虚拟机上方的菜单栏选择【虚拟机-可移动设备-大容量设备/U盘-Connect】,随后听到叮咚叮咚,随后我们就可以在Linux下看到这个U盘的盘符。移动到任务目录下,我们这里移动到/home/chris/android/idroid-release-0.1/目录下。 4,将prebuilt中的openiboot.img3复制到同目录下的utils下。 5,将iPhone 2G关机,然后按住HOME,插上数据线,等苹果标识过到【数据线连接ITUNES】的界面下松手。(接入Recovery mode 恢复模式) 6,让虚拟机下的Linxu识别iPhone硬件,方法和上面识别U盘一样,【虚拟机-可移动设备-iPhone iBoot-Connect】 7,开始-附件-终端。 8,显示chris@chris-desktop:~$ ,输入cd /home/chris/android/idroid-release-0.1/utils (进入到该目录) 9,显示chris@chris-desktop:~/android/idroid-release-0.1/utils$ ,输入sudo ./loadibec openiboot.img3 10,这时的iPhone会白一下,然后变成openiboot的界面。 11,按一下Power选择下端的Openiboot界面,按一下HOME键,进入Openiboot模式。 12,iPhone会出现一堆的数字,然后特别明显的是USB 1-2 1-4之类的。然后在Linux上的终端输入 chris@chris-desktop:~/android/idroid-release-0.1/utils$ sudo ./oibc。 13,终端会显示: Client connected: ![@] to send a file, ~[@]: to receive a file ——————————————————————————————————— 14,如果卡在USB 1-3类似这样字样的话,这里会出现iPhone识别的问题回到了Windows,所以可能需要手动再次让Linux识别,方法同6一样。 15,等待一连串的代码之后,出现: ———————————————– WELCOME TO OPENIBOOT ———————————————– 16,随后在其下方输入Install即可。Android的安装就在进行当中了。直到出现Done with installation!和Refreshed image list之后,我们就可以直接POWER+HOME关闭iPhone。 17,退出Linux,退出虚拟机。 这里提供之前终端显示过的代码,可以自己对比一下当中的输入和输出: 13-15步骤的代码: miu: epoch mismatch PLL 1: off. PLL 0: off. PLL 1: 412000000 PLL 2: off. PLL 3: 108000000 NOR vendor=bf, device=273f Successfully loaded bank1 nvram Successfully loaded bank2 nvram syrah_quiesce() otf clock divisor: 5 fps set to: 59.976 SFN: 0×10300, Addr: 0xfd00000, Size: 0×14001e0, hspan: 0×280, QLEN: 0xa0 syrah_init() — Hurray for displays Syrah Panel ID (0×73c200): Build: PVT3 Type: TMD Project/Driver: M68/NSC-Merlot Original value of Vcs (0×47): 0×0b Writing LCD init registers… Do init for Merlot syrah_init success! Installing gamma table 0×0000c200 / 0×0000ff70 camera: sensor model ID = 0×1580 menu: images loaded USB state change: 0 -> 0 EP 0: 2 EP 1: 2 EP 2: 2 EP 3: 2 EP 4: 2 EP 5: 2 USB state change: 0 -> 1 usb: reset detected USB state change: 1 -> 1 usb: reset detected USB state change: 1 -> 1 radio: comm board detected. USB state change: 1 -> 3 USB state change: 3 -> 4 radio: setting speed to 750000 baud. radio: ready. radio: enabling internal speaker radio: internal speaker enabled sdio: selecting voltage index 23 sdio: cccr version: 0, sdio version: 0, low-speed: 0, high-speed: 0, wide bus: 1, multi-block: 1, functions: 1 sdio: turning off pull-up resistor on DAT[3] Manufacturer ID: 0×2df, product ID: 0×9103 Function: 0, max block size: 256 Function: 1, max block size: 256, enable timeout: 1000 ms sdio: Ready! sdio: enabled function 1 wlan: ioport = 0×10000 wlan: firmware status = 0×0 multitouch: powering on als: initialized nand: Probing flash controller… nand: DEVICE: b655d7ec nand: BANKS_TOTAL: 4 nand: BLOCKS_PER_BANK: 8192 nand: SUBLKS_TOTAL: 8192 nand: USER_SUBLKS_TOTAL: 7744 nand: PAGES_PER_SUBLK: 512 nand: PAGES_PER_BANK: 1048576 nand: SECTORS_PER_PAGE: 8 nand: BYTES_PER_SPARE: 128 nand: BYTES_PER_PAGE: 4096 nand: PAGES_PER_BLOCK: 128 ftl: Found production format: 43303035 ftl: Successfully found FTL context block: 4344 ftl: Successfully read FTL context block. usnDec = 0xfff993b7 ftl: Detected version 46560001 b9a9fffe ftl: FTL successfully opened! bdev: partition id: 0, type: af, sectors: 63 – 128063 bdev: partition id: 1, type: af, sectors: 128079 – 3964905 15-16步骤的代码: install Reading images… Reading: ibot (167232 bytes) Reading: dtre (42176 bytes) Reading: logo (10624 bytes) Reading: recm (48896 bytes) Reading: nsrv (21504 bytes) Reading: bat0 (57792 bytes) Reading: bat1 (66368 bytes) Reading: glyC (21376 bytes) Reading: glyP (20352 bytes) Reading: chg0 (20736 bytes) Reading: chg1 (25920 bytes) Reading: batF (77120 bytes) Performing installation… (239216 bytes) Flashing… Flashing: ibot (a13f3c0, 242624 bytes) Flashing: ibox (a0b1960, 167232 bytes) Flashing: dtre (a0da6a8, 42176 bytes) Flashing: logo (a0e4b70, 10624 bytes) Flashing: recm (a0e74f8, 48896 bytes) Flashing: nsrv (a0f3400, 21504 bytes) Flashing: bat0 (a0f8808, 57792 bytes) Flashing: bat1 (a1069d0, 66368 bytes) Flashing: glyC (a116d18, 21376 bytes) Flashing: glyP (a11c0a0, 20352 bytes) Flashing: chg0 (a121028, 20736 bytes) Flashing: chg1 (a126130, 25920 bytes) Flashing: batF (a12c678, 77120 bytes) Done with installation! Refreshed image list 进入Android 以后iPhone 2G的开机都会出现openiboot的菜单选项,当然,{dy}个就是iPhone OS咯,进入Android,按下POWER选择第2个,随后长按HOME 2秒以上,出现字样后松手,Android启动中。 idroid评测 基本上一切算是正常,不过原有Android还是会有几个按钮的,但是iPhone实在没有什么按键,所以在各个iPhone键位都有特别的用途: a.音量调大键:拨号 b.音量调小键:确认 c.power键:取消 d.home键:菜单 目前idroid 0.1a问题所在:1,目前{zd0}的问题就是,屏幕不会自动关闭,也就是待机是待机,不过屏幕的亮度是一直亮着的。2,谢谢5#提醒,对,还有发热量的问题,比较烫手,呵呵。 3,仅可以通过POWER+HOME强制关机。 4,自带中文系统,不过没有中文输入法。 5,无法调节屏幕亮度。 6,通话中时,无法开启免提(扩音)。 7,蓝牙无法使用。 8,键盘触摸位置稍有偏移。 9,没有手机铃声,不可设置手机震动,手机无声音。 10,无法安装程序,因为闪存的关系,也因为Android Market的关系。 11,无法照相,音乐和媒体没有内容显示。 系统为Android 1.6,可以使用WIFI,电话,短信,上网,可USB充电,无Android Market,无法照相(提示需要SD卡插入)。 |