iPhoneにAndroidを移植してデュアルブート化する方法

2010-06-11 アプリ

andphone.jpg 今回はiPhoneのOSにAndroidのOSを移植してデュアルブート化する方法を解説します。Android for iPhone 3G日本語の解説サイトが見当たらなかったので詳しくまとめてみました。


konata_smile2.png 遂にiPhoneをAndroid化する方法が公開されたらしいよ。向こうのハッカーはすごいねぇ。

丁度Android OSを使ってみたかったので、いいタイミングでしたね。
fate_2.png

konata_normal.png と言うわけで、Android移植の方法を日本語で解説していくよ。

★用意するもの・事前準備

  • 初代iPhoneかiPhone 3G(FWが3.1.2以下限定。3.1.3でもPwnageToolで落とせばイケます。)
  • Blacksn0w、Pwnage Tool、Redsn0wの何れかでJailbreakしておく。(Jailbreakの解説サイトは沢山あるのでここでは省きます。)
  • 32bitのLinuxの実機か仮想環境。Ubuntu推奨。

★手順

  1. 初代iPhoneの場合はココ、iPhone 3Gの場合はココからイメージとバイナリをDLする。
  2. ココから.ipswファイル(iPhone OS 3.1.2ファイル)をDLする。
  3. マーベルのサイトの右側のDRIVERSの中のプルダウンメニューから「Linux 2.6 – Fedora」を選択し、「Search」。「SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL」をDLする。
  4. Linuxのホームディレクトリに「firmware」フォルダを作成する。
  5. 手順3でDLしたファイルを解凍する。
  6. 手順5で回答したファイル中の.tarファイルを解凍して「helper_sd.bin」と「sd8686.bin」を「firmware」フォルダに移動する。
  7. 「helper_sd.bin」を「sd8686_helper.bin」にリネームする。
  8. Linuxのホームディレクトリに「idroid」フォルダを作成する。
  9. 手順1でDLしたファイルを解凍して、中の「dripwn」ファイルを「idroid」フォルダに放り込む。
  10. 手順2でDLした.ipswファイルも同様に「idroid」フォルダにコピーする。
  11. Linuxのコマンドラインシェルで「idroid」フォルダに移動して「cd ~/idroid」と入力して実行する。
  12. 初代iPhoneの場合はココ、iPhone 3Gの場合はココに行きVFDecryptキーをコピーしてくる。
  13. 手順11のシェルで以下を入力し実行する。
    初代iPhoneの場合
    ./dripwn iPhone1,1_3.1.2_7D11_Restore.ipsw [手順12でコピーしてきたキー]
    iPhone 3Gの場合
    ./dripwn iPhone1,2_3.1.2_7D11_Restore.ipsw [手順12でコピーしてきたキー]
  14. 「zephyr_main.bin」「zephyr_aspeed.bin」「and zephyr2.bin」が「idroid」フォルダに得られる。
  15. 得られた3つの.binファイルを全て「firmware」フォルダに移動する。↓現在の状態。
  16. sath.jpg

  17. Jailbread済みのiPhoneのCydiaで「OpenSSH」ツールをインストールする。
  18. SSHを通してiPhoneに接続し、パスワード「alpine」でログインする。
  19. saerfddrg.jpg

  20. 「passwd root」と入力しパスワードを変更する。
  21. 「passwd mobile」と入力しパスワードを変更する。※ワーム対策
  22. 「SFTPクライアント」で、「prebuilt」フォルダ内の「android.img.gz」「cache.img」「ramdisk.img」「system.img」「userdata.img」「zImage」を、iPhone内の「/private/var」フォルダにアップロードする。
  23. 「SFTPクライアント」の代わりに「scpコマンド」を使う場合は、以下のコマンドで行う。
    scp android.img.gz root@[iPhoneのIPアドレス]:/private/var/
    scp cache.img root@[iPhoneのIPアドレス]:/private/var/
    scp ramdisk.img root@[iPhoneのIPアドレス]:/private/var/
    scp system.img root@[iPhoneのIPアドレス]:/private/var/
    scp userdata.img root@[iPhoneのIPアドレス]:/private/var/
    scp zImage root@[iPhoneのIPアドレス]:/private/var/
  24. 「SFTPクライアント」を使用して「/private/var」フォルダに「firmware」フォルダを作成する。。
  25. 手順4で作成したLinux側の「firmware」フォルダからすべてのファイルをiPhone側の「firmware」フォルダに移動する。
  26. 「scpコマンド」を使用する場合は以下のコマンドが使用できる。
    scp -r ~/firmware/ root@[ip address of iPhone]:/private/var/firmware
  27. ここで一旦iPhoneを再起動して、iPhoneに移したファイル類のファイルサイズがLinux側のファイルのサイズと同じかを調べる。え?合わない?……残念です。
  28. 問題が無いことを確認したら、Linuxの「utils」フォルダの「oibc」「loadibec」、「prebuilt」フォルダの「Openiboot.img3」を、「idroid」フォルダに放り込む。
  29. iPhoneをリカバリーモードにする。(※やり方はググッて下さい)
  30. ターミナルで以下のコマンドを実行する。
    cd ~/idroid
    sudo ./loadibec openiboot.img3
  31. 上手く行けば「openiboot」メニューが表示される。
  32. 音量ボタンかホールドボタンでメニュー2番目の「Console」を選択し、ホームボタンで起動する。
  33. ターミナルで「sudo ./oibc」と入力する。r5etge.jpg
  34. Terminal/obicで「nor_read 0×09000000 0×0 1048576」と入力する。
  35. Terminal/obicで「~norbackup.bin@0×09000000:1048576」と入力すると、「idroid」フォルダに「norbackup.bin」が表示される。
  36. Terminal/obicで「install」と入力する。これには数分かかる。
  37. Terminal/oibcで「reboot」と入力する。
  38. Ctrl+Cを押して終了する。
  39. 完了。
  40. rtdgs.png


konata_normal.png ね、簡単でしょ?
iPhone 3GSを買ったりして、使ってないiPhone 3Gを持ってる人は壊れるの覚悟でやってみるのも面白いんじゃないかな?

jailbreak前提なので今更感もありますが、改造は自己責任でお願いしますね。
fate_1.png

関連記事:iPhoneでAndroidを起動させている衝撃的なムービー
関連サイト:iDroidWiki
関連サイト:「Android for iPhone 3G」が公開される


Android, Google, iPhone, iPod touch, アプリ, 便利

2 Responses to “iPhoneにAndroidを移植してデュアルブート化する方法”

Leave a Comment