iPadでJailbreakしてみました。コードをビルドするところまでの手順をメモしておきます。僕の環境はOSX Leopard + iPad(iPhoneOS 3.2)です。それ以外の環境では動作確認はしてません。
あとお約束ですが、JailbreakするとiPadが壊れるリスクがあるので自己責任でお願いしますね。また作業前にiPadのバックアップをとってから行うことをオススメします。
1. Jailbreak
さて早速Jailbreakします。ココからSpirit.appをダウンロードし、iPadを繋いだ状態で実行するとJailbreakボタンが出てくるのでポチリます。以上でJailbreak完了です。今や数秒でJailbreakできる時代になりましたね。iPadにCydiaというアプリがインストールされていたら成功しています。CydiaはAppStoreの野良アプリ版で、このアプリから色々なツールをインストールする事になります。
2. シェルログインの準備
CydiaはAPTのGUIフロントエンドでよく出来ているのですが、CUIの方が使い易いのでシェルログインして作業する為の準備をします。Cydiaから以下のパッケージをインストールしましょう。適当に検索すれば見つかります。
- OpenSSH
- APT
- Vi IMproved (vim)
これでiPadにSSHでログインして作業する準備が整いました。
3. mobileユーザで作業する為の準備
早速ログインしてみます。iPadのIPは「設定」=>「Wi-Fi」で繋いでるネットワークを選択したら見れます。デフォルトでrootとmobileというユーザが作成されていて、どちらもパスワードがalpineになっているので変更します。またrootで作業し続けるのは非常に怖いのでmobileユーザで作業する為にsudoを入れて、その後はmobileユーザで作業します。
your_pc$ ssh ipad_ip -l root $ passwd $ passwd mobile $ apt-get install sudo $ apt-get install coreutils $ vim /etc/sudoers # mobileユーザをsudoersに追加
3. mobileユーザでビルド環境を整える
さてmobileユーザでsudoが使えるようになったのでユーザをスイッチしてビルド環境を整えていきます。普段最初から入っているライブラリやヘッダファイルが入ってないので苦労しました。
$ su - mobile $ sudo apt-get install zsh $ sudo apt-get install wget $ wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb $ sudo dpkg -i libgcc_4.2-20080410-1-6_iphoneos-arm.deb $ sudo apt-get install iphone-gcc $ sudo apt-get install make $ sudo apt-get install ldid $ mkdir /var/toolchain $ cd /var/toolchain $ tar zxvf ~/sys32.tgz # 予めhttp://www.2shared.com/file/wx3Kc7RW/sys32.htmlからsys32.tgzをダウンロードしておく
これで一応ビルド環境が整いました。テストの為HelloWorldを書いておきます。
/* hello.c */ #include <stdio.h> int main() { printf("Hello iPad World!\n"); return 0; }
上記コードをインクルードファイルとライブラリのパスに注意してビルドして実行してみます。
$ gcc -I"/var/toolchain/sys32/usr/include" -L"/var/toolchain/sys32/usr/lib/" hello.c -o hello $ ./hello Hello iPad World!
うまく実行されていますね。後は大抵は普通のunixマシンとして扱えるので好きにして下さい。個人的には取りあえずemacsをインストールしてみようかと思っています。あと下記ページのTabBarSampleのMakefileが色々と参考になります。
参考ページ様
http://iphonesdkdev.blogspot.com/2010/06/iphone-gcc-for-sdk-32-ipad.html

