iPod touch (1G)にAndroidを入れてみた
iPod touch/iPhone向けAndroidである、iDroidを入れてみました。
iPhone 2G/3Gのように、もうすぐCydiaからBootlaceを入れるだけで簡単インストールできるようになるのかもしれないけど、それを待たずに手動で。
参考にしたサイト
http://iodonacht.blog90.fc2.com/blog-entry-36.html
http://www.idroidproject.org/wiki/Installing_OpeniBoot
環境
- MacBookPro / MacOS X 10.6.5 (+ DeveloperTools)
- iPod touch 1G (OS 3.1.3)
iDroidのイメージを配置
http://www.idroidproject.org/wiki/Releases/
からiPod touch 1G用のイメージ( http://idroid.nickpack.com/iDroid/official/iDroid-Project/IPT1G/iDroid-1.0.3-MoJo-IPT1G.tar.gz )を落とす。
中にあるinroadおよびfirmwareを/private/var/にscpで放り込む。
% cd iDroid-1.0.3-MoJo-IPT1G % scp -r idroid firmware root@192.168.0.7:/private/var/
INSTALLファイルのExtraction of firmwareセクションに従って、タッチスクリーンのファームウェアを配置する。
CydiaでBootlaceを入れてあれば、IDroid→(i)ボタン→Extract Multitouch Firmwareを実行すると、zephyr2.bin が/private/var/firmware 内に抽出されるので簡単。
ついでに/private/var/sdcard というディレクトリを切って、その中にmp3ファイル等を入れておけば、iDroidからSDカードとして閲覧できるらしい。野良アプリもここにapkを置いて入れることになる。
openiBootのインストールの準備
まず、Mac OS Xに必要なライブラリ(libusb、readline)をそろえる。
libusb
http://idroid.nickpack.com/OLD/libraries/libusb-mac.gz
をダウンロード、展開、インストール。
Safariでダウンロードすると libusb-mac という拡張子無しファイルになってしまうが、
% tar xf libusb-mac
で展開できる。あとはダブルクリックでインストーラが起動する。
readline
readlineを以下からダウンロードし、ビルド & インストール。
ftp://ftp.cwru.edu/pub/bash/readline-6.1.tar.gz
% tar xf readline-6.1.tar.gz % cd readline-6.1 % ./configure % make % sudo cp libreadline.6.1.dylib /usr/local/lib/
openiBootのセットアップ
iDroid-1.0.3-MoJo-IPT1GにもToolは入ってるが、どうせならopeniBootの最新版を使った方が良いかもしれない。今回は0.1.3を使った(iDroid-1.0.3に同梱されてたのは0.1.2だった)。
次に
http://idroid.nickpack.com/openiBoot/Tools/
から
oib-tools-OSX.zip (14-Oct-2010 10:46)
をダウンロードして展開すると、OSX-Toolsというフォルダができる。
http://idroid.nickpack.com/openiBoot/0.1.3-b192eb6-IPT1G.zip
もダウンロードし、上記OSX-Toolsのフォルダ内に入れておく。
openiBootを実行, iPod touchにインストール
iPod touchの電源を一度Sleepボタン長押しで切り、Homeボタンを押しながらUSB接続すると、リカバリモードになる(iTunesが立ち上がっても無視する)。この状態で、
OSX-Toolsディレクトリ内で、
% sudo ./loadibec openiboot.img3
を実行し、パスワードを入力すると、iPod touch上でopenibootが起動する。
ターミナルに
% ./oibc (まだエンターキーは押さない)
と打ち込んでおき、Sleepボタンで中央のConsoleアイコンを選び、Homeを押す。
画面が切り替わるので、素早く(Homeキーのほんの一瞬後に)
ターミナルでEnterキーをおしてoibcを実行する(予めターミナルに文字を打ち込んでおき、Homeを押した直後にenterを押す)。うまくいけば、iPod touchの画面と同じもの(以下まで)がターミナルに表示されるはず。
----------------------------------------------- WELCOME TO OPENIBOOT -----------------------------------------------
この表示がでない場合、接続に失敗しているらしく、後続の処理がうまくいかない。
(下の表示だけが出て止まってしまう。
oiB client connected: !<filename>[@<address>] to send a file, ~<filename>[@<address>]:<len> to receive a file ---------------------------------------------------------------------------------------------------------
)
この時は、SleepキーとHomeボタンを押しっぱなしにして強制再起動し、リカバリモードにするところからやり直す。
うまく接続できたら、install と入力してenterキー。1分くらい、以下のようなメッセージがいろいろ出る。
Backing up your NOR to current directory as norbackup.dump Fetching NOR backup. file sent. NOR backed up, starting installation Starting Install/Upgrade... ...... openiBoot installation complete.
ここまで来たら、reboot と入力して再起動させる。
ctrl-Cとかenterとかを適当に入力してoibcを止める。
再起動
今度は勝手にopeniBootが起動するはずなので、Androidを選ぶ。2,3分でAndroidが起動するはず。(ここでリンゴマークを選べばiOSが起動する。)
が、最初やった時はなぜか
calibration data installed
というメッセージの後、画面がうまく初期化されずハングアップしてしまった。
私の場合、いったん /private/var/idroid 内のファイルを全て削除し、再度アップロードし直したところ、うまく起動できるようになった。(検索したところ、似たような症状になった人が複数いるようで、削除→アップロードし直せ(上書きではダメ)というアドバイスがあった。理由はよく分からないが。)
Sleepボタンが戻る、HomeボタンがMenuになる。
起動後は、無線LANも無事使えた。iPod touchなので当たり前だが3Gはなし。
twicli動かしてみた。
適当に遊んだら、両方を同時押し+ちょっと長押しで電源OFFとか。