使わなくなった iPhone 3GS に
    Android とか
  色々いれてみたかった
誰?

    ストリート系エンジニアになりたい
    もうすぐ23歳の社会人1年目


    仕事は主に JavaScript やら Ruby on Rails を
    使ったブラウザゲーム開発


 最近、スマホアプリやらセキュリティにも
なんとな~く関心がある


    趣味はストリートダンス (lockin') とか DJ とか
    ダーツ
誰?
  Twitter:


@zunjp
アジェンダ

    iPhone に Android を入れようと考えた動機


    導入の具体的な手順


    失敗した原因


    iDroid の現状


    まとめ
ある日
仕事で関わっている
ブラウザゲームのスマホ版の
 テストをしていました。
そこで Android の
  テストもしたいので
Nexus を会社から借りる
使わなくなったiPhone3GSにAndroidとか色々入れてみた(かった)
10 分後…
Nexus 、かっこいい。
( 仕事そっちのけで触りまく
          る)
Android
欲しい。
Java とか頑張って覚えて
Android アプリとか作りたい
ShootingStar 使って
Twitter で中指飛ばしたい
     (´ へ ω へ `*)
でも、 iPhone で事足りるの
        に、
わざわざ Android 端末を何万
もかけて買いたくない……
できればタダで
 Android をつかいたい……
エミュレータではなく、実機
          で。
なんとか用意する方法は
  無いものか……
思考をめぐらせつつ
    後日
部屋に、
使わなくなった
 iPhone 3GS
    を発見
なんてことはない、ただの iPhone 3GS
( 刺さっている SIM は既に解約して iPhone4S に乗り換えているので圏外 )




                         画面割れ……
( ^o^) 自宅に使わなくなった iPhone3GS あったった
wwwww
( ˘⊖˘ )。 o( 待てよ、 iPod touch 以外の使い道がある
のでは? )
( ˘⊖˘ )。 o( できるかわからんけど
       Android とか入れたら面白そうだ…… )
( ˘⊖˘ )。 o( すまべんで話しても面白そうだ、
       ウケるかわかんないけど )
| すまべん | ┗(☋ ` )┓ 三
( ◠‿◠ )☛ 次回 30 分枠だ そこではなしてもらおう
( 某 totoro さん )

( ◠‿◠ )☛ バックレたら殺す
( 某 smellman さん )
▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂ うわああああああ
そんなわけで、すまべんの偉大な
   先輩方の粋なはからい
    ( またの名をパワハラ )
      によって
 今回ここに立っております。
生暖かく見守っていただけると
    嬉しいです
 よろしくお願いします
本
題。
いかにして iPhone に
Android を同居させるか?
Answer:
      iDroid
と呼ばれるものを使います。
■ 手順(自己責任)
1、対象の端末 (iPhone) を jailbreak
2、 Cydia から Bootlace をインストール
3、 Bootlace を起動して、カーネルにパッ
チを当てる
4、 OpeniBoot をインストール
5、 OpeniBoot を起動して iDroid をインス
トール
6、インストール後、 Bootlace を介して
Android が使えるように!
(入れ方はとっても簡単 !! )
なはずだった
実は、 iPhone3G じゃないと
 Bootlace が使えない。
じゃあ Bootlace 使わずに
  自力で入れよう!
ところで
期待を持たれる前に
 言っておきますが
結末から先に言うと
最終的には
失敗しました。
とりあえず iOS4.1 の
状態で jailbreak
※redsn0w が推奨。

OS5 以上では Bootlace は動かないので、
それ以上の人は 4.2.1 以下に落としましょう。
待つこと数分、無事 JB 完了
Cydia から
  Bootlace をインストール、起動するも
            前述のように、
「このデバイスは対応していない」と怒られる
   起動すらさせてくれないという……
Bootlace を使わずに自力で iDroid
            を
         導入する方法
■ 必要なもの
・ Windows 、 Mac 、または Linux
( 今回は Linux での手順 )

・ redsn0w で jailbreak 済みの iPhone3G
(3GS で果敢に今回挑戦したが、断念 )

・ OpeniBoot
・ iDroid Wiki から手に入る Android OS
・ Wi-Fi ファームウェア ( 後述 )
・ Termial に関する知識
・自己責任と強い気持ち、強い執念
手順
1. http://www.idroidproject.org/ から iDroid と OpeniBoot を手に
   入れる
・ iDroid
android.img.gz   cache.img
system.img   userdata.img
zImage

・ OpeniBoot
Loadibec   oibc
openiboot.img3
手順
2. iDroid を iPhone に転送


・転送方法は様々
例: iFunBox を使って USB で転送、 Filezilla を
 使って無線 LAN 経由で接続…
(Filezilla を使う場合、
ユーザー名 root 、パスワード alpine)
手順
2. iDroid を iPhone に転送


iPhone 内の /private/var 以下に
・ idroid
・ sdcard
・ firmware
ディレクトリを作る。


android.img.gz   cache.img
system.img   userdata.img
zImage
を /private/var/idroid に転送。
転送後、ファイルサイズが転送元と正しいか比較
手順
2. FW の抽出と転送


Cydia から「 iokittools 」をインストール
                                       ↓
SSH で iPhone に入った後
$ cat /usr/share/firmware/multitouch/iPhone.mtprops | grep -B2 0x0049 | grep
   data | sed 's/^tt<data>//' | sed 's/</data>$//' | base64 -d > zephyr2.bin

を実行する
手順
2. FW の抽出と転送
http://www.marvell.com/ から
  Wi-Fi の FW を手に入れる
(Version は Linux 2.6 – Fedora)


helper_sd.bin を sd8686_helper.bin にリネーム
  し、 sd8686.bin と一緒にとっておく
手順
2. FW の抽出と転送
sd8686_helper.bin
sd8686.bin
zephyr2.bin
これら3つのファイルを /private/var/firmware 以
 下に配置
手順
3. Openiboot のインストール
$ sudo apt-get install で以下をインストール
libusb-1.0-0
libusb-1.0-0-dev
libreadline6-dev
readline-common
Libreadline6
libreadline-dev
手順
3. Openiboot のインストール
iPhone の電源を切り、リカバリモードで起動。
                       ↓
PC 側で先ほど用意した openiboot のディレクト
 リに移動し、
$ sudo ./loadibec openiboot.img3
を叩く。
手順



          本当はここで
openiboot が入るはずだったが… 3GS では動か
               ず。


   ※ 真偽は不明だが、動作報告はある
手順
3. Openiboot のインストール
インストールに成功すると、 iPhone で
openiboot が動いているはず。
動いているのを確認したら

$ sudo ./oibc を入力後、 ( まだ Enter は押さな
  い)
iPhone 側ホームボタンを押して1~2秒待って
  実行
(これをやらないと、 iPhone と PC の接続がう
  まくいかない)
手順
4. iDroid のインストール
OpeniBoot のアスキーアートが出てきたら
  Terminal で
$ install
をすることで iDroid がインストールされる
                 ↓
インストール完了後に
$ reboot
で iPhone 再起動
完了…!?
再起動するとこんな画面が出る


・電源ボタンで OS 選択
・ホームボタンで決定


起動する Android は 2.3.2
完了…!?
・ Wi-Fi は使えるが 3G 回線は使えない
・ GPS 、 Bluetooth 、
 カメラは使えない
・当然、 Google Play 、
 Android マーケットは
 入っていない
・ホームボタン、
 戻る等は iPhone の
 電源ボタンやホームボタンに
 割り当てられているので、
 シャットダウンには tReboot などが必要
・電池の消耗と発熱が激しい
完了…!?
・ iTunes に繋いで通常の同期等、
 iPhone としての使用も可能
・復元や iOS アップデートでは
 当然消える


やはり、まだまだ発展途上?
失敗した原因
1. 3GS での成功報告は何件かあるため今回ト
 ライしてみたが、「3 GS 向け」の手法として
 確立されたものはなく、そういった記事も現
 在のところ確認できない
2. YouTube やニコニコ動画に、起動の様子を
 撮った映像があったが、本当に 3GS かの真偽
 不明
3. iDroid プロジェクトそのものに関わる人が
 少ない
iDroid の現状
1. GitHub でソースが共有されている
2.が、先日某ニュースサイトにて
The iDroid Project - Where It Presently Stands
という記事がアップされた。
それによる ( ざっくり意訳 ) と、
「メインで関わっている開発陣は現在興味を
 失ってプロジェクトを抜けている or 仕事が
 忙しいため、現在開発がストップしている ( 故
 に、 3GS や 4 、 4S は当分未対応 ) 」

 とのこと。
iDroid の現状
■ 今後の開発の展望(メンバーが戻り次第の)
OpeniBoot を含め、 iDroid は今後 A4 系
 (iPhone4, touch 4G 等 ) を中心に開発が進めら
 れる
ただし、現在は人が居ないことを除くと
 OpeniBoot の開発中 A4 系バージョンが深刻な
 バグを抱えているので、リリースはまだ先に
 なりそう……
まとめ と 今後のこと
1.今回、 3GS での起動成功例があるにもかか
 わらず、起動できず(原因も未だに不明)
2. 3G 以下での起動は確立されている
 が、 3GS に関しては現在未だに確立されてい
 ない
3.やりたいと思っていたことは志半ばで力尽
 きましたが、普段見えづらい iPhone の中身を
 少し垣間見れて楽しかった
4.機会があれば、安く古い iOS 端末を手に入
 れて、リベンジしてみたいです!
※ 同様に試して失敗しましたが、似たプロジェ

More Related Content

PDF
Firefox 4.0b2 for Android
ODP
iPodTouch で UNIX ぽく遊ぶ
PPTX
Nefry btの簡単レビュー
PPTX
Firefox OSを俺得改造
PPTX
ユビキタスロボティクス特論 6/30
PDF
fmSynth16
PDF
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 名古屋 #oscnagoya Hacking the third Sma...
PPTX
ESP8266を便利にするモジュールを つくってみた!
Firefox 4.0b2 for Android
iPodTouch で UNIX ぽく遊ぶ
Nefry btの簡単レビュー
Firefox OSを俺得改造
ユビキタスロボティクス特論 6/30
fmSynth16
第3のスマートフォンOSハッキングと各種ガジェット 改造最新情報 in 2019 名古屋 #oscnagoya Hacking the third Sma...
ESP8266を便利にするモジュールを つくってみた!

What's hot (20)

PDF
ZTE OPEN を日本語化(バージョンアップ)してみる
PDF
ESP8266EXで位置推定
PDF
20201105 SoftwareDesign 2020/11 kitazaki
PDF
UEFIベアメタルプログラミング
PDF
Nfcのアプリつくってみる
PDF
関西Firefox os勉強会1st発表資料130615fin
PPTX
NFC キャンドル
PDF
mpld3でInteractiveデータ可視化
PDF
RaspberryPi Zero W で FreeBSD を動かす方法にやっと気がついたのと、USB OTGも動いてよかった。
PPTX
WineでDirectX9系アプリを動かす
PDF
Firefox OS Updates 201308
PDF
UEFIで始めるLinux From Scratch
PPTX
171116 nishimoto-mruby
PPTX
ESP8266モジュールを遊び倒す!
PDF
C99 因果堂typeiotラズベリーパイドライブレコーダー_監視カメラキット
PDF
Mickey threats inside your platform final-jp
PDF
【C96】Inga-Do Type-IoT ラズベリーパイドライブレコーダー Ver.1.1の説明資料
PDF
【C96】Inga-Do Type-IoT ラズベリーパイドライブレコーダー Ver.1.1説明資料
PPT
Pogoplug koedo
PDF
Splunk 壊してマジあせった. Otto! I have crashed my splunk!
ZTE OPEN を日本語化(バージョンアップ)してみる
ESP8266EXで位置推定
20201105 SoftwareDesign 2020/11 kitazaki
UEFIベアメタルプログラミング
Nfcのアプリつくってみる
関西Firefox os勉強会1st発表資料130615fin
NFC キャンドル
mpld3でInteractiveデータ可視化
RaspberryPi Zero W で FreeBSD を動かす方法にやっと気がついたのと、USB OTGも動いてよかった。
WineでDirectX9系アプリを動かす
Firefox OS Updates 201308
UEFIで始めるLinux From Scratch
171116 nishimoto-mruby
ESP8266モジュールを遊び倒す!
C99 因果堂typeiotラズベリーパイドライブレコーダー_監視カメラキット
Mickey threats inside your platform final-jp
【C96】Inga-Do Type-IoT ラズベリーパイドライブレコーダー Ver.1.1の説明資料
【C96】Inga-Do Type-IoT ラズベリーパイドライブレコーダー Ver.1.1説明資料
Pogoplug koedo
Splunk 壊してマジあせった. Otto! I have crashed my splunk!
Ad

Similar to 使わなくなったiPhone3GSにAndroidとか色々入れてみた(かった) (20)

PDF
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
PDF
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
PDF
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
PDF
Android & Nui & Physical Computing
KEY
SnapDishの事例
PPTX
AndroidではじめるJava
PDF
Unity での asset bundle による追加コンテンツの扱い方
PDF
Android4.2徹底解剖!
PDF
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
PDF
What's new in Android N at Google I/O extended in Fukuoka
PDF
Androidでロボットを動かそう・すまべん関西201003
PDF
Beginner for install US$40 JUNK Intel Macbook in 2020 はじめての4,500円ジャンクIntel Ma...
PDF
PDF
Unityとスマートフォンアプリの最適化
ODP
【入門】Arduino勉強会
PDF
真Drone入門
PDF
さわってみよう Firefox OS in 大阪
PDF
PDF
PS3活用術~linuxを入れてみよう~
PPTX
4th tokushimaapp
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Windows10タブレットにUbuntu16.04を色々入れてみた 2016年度版 Install Ubuntu16.04 on Windows10 T...
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
Android & Nui & Physical Computing
SnapDishの事例
AndroidではじめるJava
Unity での asset bundle による追加コンテンツの扱い方
Android4.2徹底解剖!
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
What's new in Android N at Google I/O extended in Fukuoka
Androidでロボットを動かそう・すまべん関西201003
Beginner for install US$40 JUNK Intel Macbook in 2020 はじめての4,500円ジャンクIntel Ma...
Unityとスマートフォンアプリの最適化
【入門】Arduino勉強会
真Drone入門
さわってみよう Firefox OS in 大阪
PS3活用術~linuxを入れてみよう~
4th tokushimaapp
Ad

使わなくなったiPhone3GSにAndroidとか色々入れてみた(かった)