iPod Touch jailbreak for OSX

警告:僕の手元では以下の手順でうまくいってますが、環境の問題、時の運、風水などにより結果が
異なる場合が考えられます。
完全に自分の責任で試して下さい。Wikiなので、追記・修正は歓迎します。
iPod Touchのjailbreakは、まだ未知の海域です。予想もしていない結果になる事も考えられます。
最悪、iPod Touchが二度と使い物にならなくなるかも知れません。
以下の手順は、その覚悟がある人、及びMacOSXのコマンドラインの使い方がある程度判る人、向けです。

http://www.touchdev.net/wiki/Jailbreak_Guide から翻訳

最初に、設定>一般>自動ロックで「しない」を選択しておくと楽(勝手にスリープしなくなるから)。

Tiff脆弱性を突く

TouchのSafariで

http://jailbreak.toc2rta.com

を開く。Safariはクラッシュしてホーム画面に戻るが、これは大丈夫。
後の手順を行うまで、iTunesで見ても300MBしか空き容量が見えないようになる。これも問題ない。

jailbreakを行う

  1. iPHUCをダウンロードする。
    http://rapidshare.com/files/61505779/Desktop_-_Jailbreak.zip.html
    IntelじゃなくてPPCの場合は
    http://rs155.rapidshare.com/files/61833975/iPHUC-PPC.zip
    も必要。PPCの場合は、以下でiphucを起動しているところで、このiPHUC-PPC.zipを解凍して出てくるバイナリを使う。
    PPC Macではここが違うだけで、以下は全て同じ
  2. ファイルを解凍する ダウンロードしたファイルを解凍する。
    OSXの標準状態でダブルクリックして解凍したなら、ファイルは

    /Desktop/Desktop - Jailbreak に入る。ディレクトリ名をJailbreakなどにリネームする。

  3. ターミナルを起動する。
  4. libreadlineを持っていないなら、
    http://rapidshare.com/files/61509655/opt.zip.html
    からダウンロードして、解凍して

    /Desktop/Jailbreak に入れる。

  5. cd "~/Desktop/Jailbreak"
  6. ./iphucを実行
  7. getfile /dev/rdisk0s1 iphonefs/rdisk0s1 314572800 をiphuc内から実行。 これにはしばらく時間がかかる。
    また、完了したら、iphonefsディレクトリ内に「rdisk0s1」と言うファイルが出来る。
  8. 上記ファイルの最後に.dmgを追加して、「rdisk0s1.dmg」と言うファイル名にする。
  9. このファイルをWクリックしてマウントする。
  10. マウントされたドライブ内のetcディレクトリを開き、この中に先ほど解凍したファイルの中にあった「fstab」ファイルをコピーする(上書きになるはず)。
  11. イメージをアンマウントする。
  12. ターミナルでiphucを起動したままなら、このターミナルから「putfile iphonefs/rdisk0s1.dmg /dev/rdisk0s1」を実行する。これにもしばらくかかる。終わったら、スリープとホームボタンを長押しして電源を切り、再度電源を入れる。

SSHを導入する

  1. Google codeからiNdependenceを入手する。
    http://independence.googlecode.com/files/iNdependence_v1.2.1a_bin.dmg
  2. iNdependenceを実行して、SSHタブを開く。
  3. 「Install SSH/SFTP/SCP」をクリックして、画面上の手順に従う。先ほどと同じ方法で数回再起動する必要がある。
  4. 完了したら、iPod Touchを再度再起動して、ターミナルから以下のコマンドを実行する。
    ssh -l root iPodTouchのIPアドレス
    IPアドレスは「Wi-Fi」設定内で表示させることが出来る。
    ログイン時のパスワードは「alpine」。
  5. FTPを使って(CyberDuck?が便利(訳注:僕もこれ使いました)。http://cyberduck.ch/)、iPod Touchに接続する。ユーザ名はroot、パスワードはalpine。FTPじゃなくてSFTPな事に注意。

iTunesと同期出来るようにする

  1. sshでログインして、以下のコマンドを実行する。
    cd /var/root
    mv Media Media_sym
    mv Mediaold Media
    iPod touchにはまだコマンド群が入ってないので上記の方法ではリネームできない。
    FTPクライアントでiPod touchにアクセス
    手動で/var/root/Media を Media_sym に名称変更
    同じく/var/root/Mediaold を Media に名称変更
  2. iTunesを起動して認識させる。もし認識しないようなら、iTunesを再起動する。

Installer.appのインストール

  1. http://iphone.nullriver.com/zips/Installer-2.63.zipをダウンロードする。
  2. 「やり遂げた男の余裕」を感じながら何か飲み物をすする。
  3. FTPを使って、上記ファイル内の「Installer.app」をTouchの/Applications/にコピーする。
  4. ターミナルで再度iPod TouchにSSHで入り、
    chmod -Rf +x /Applications/ 
    を実行する。
  5. iPod Touchをアンロックして(スライドしてホーム画面を表示させる事を言う)、sshで入っているターミナルから
    /Applications/Installer.app/Installer
    を実行する。これでインストーラが起動する。
  6. 閉じるにはターミナル上からCtrl-Cを押す。

Springboard Hackをインストールする

これをインストールすると、ホーム画面にサードパーティのアプリケーションが表示されるようになる。
いくつかやり方が書いてあるけど、僕がやった手順を翻訳しておく。

  1. http://conceitedsoftware.com/iphone/zips/Trip1PogoStick.zip をダウンロードして解凍する。
  2. iPod Touchにさっきの手順でSFTPで接続する。
  3. 「/System/Library/CoreServices?/SpringBoard.app/」を開く。
  4. このディレクトリ内の「M68AP.plist」を「M68AP.plist.old」にリネームする。
  5. 上記ファイルを解凍したディレクトリ内の「SpringBoard.app」をコントロールを押しながらクリックして、「パッケージの内容を表示」をクリックする。
  6. これで表示されたM68AP.plistを、iPod Touch内の 「/System/Library/CoreServices?/SpringBoard.app/」にSFTPで置く。
  7. 最初のファイルを解凍した中に入っているspringpatchを、iPod Touch内の「/private/var/root/Trip1PogoStick?/temp/」に置く。
  8. iPod TouchにSSHで入って、以下のコマンドを実行する。
    ~/Trip1PogoStick/temp/springpatch
  9. iPod Touchを再起動する。