2011年2月13日日曜日

iPod touch (iOS4.2.1) JB

iPhoneに続いて、買ってしまったのがiPod touch 4G....
かなりiDeviceに魅せられていることは間違いない。
iPad2が出てきたら買う可能性が出てきた。

とはいえ、弄るのが趣味な人間だから、JBしないでいられなかった。

このiPod touchは、時期的にSHSHが得られず、いずれにしろ tethered JB という選択肢を取らざる得ない事態。 ちょっとイライラするだろうけど我慢。Cydiaが動かない、白アイコンになっちゃうなんてJB初心者はがっくりするだろう。とりあえずそんな状況でも抜け方があるので、4.2.1からのJB-ORZerは、過剰の期待しないで読むこと。

何をしたか?

まず状況チェック。 JB環境としては、iOS4.3bあたりを持っていさえすれば容易にuntetherd に成り得るが現状ではipswを入手していないのだから、4.2.1でやるしか無かった。

iPhone4で利用したお手軽なGreenPois0nは、どうもiPod/touch4G のiBootが出来ないらしく、redsn0w0.9.7b6を使ってみた。現状ではこれでしか書き換えられなかった。

まあ、MS窓環境で試してみようかと思うが、最近XPの実機環境に戻れないくらい快適な移行先の環境になってきたので、やらないかも。


・DFUモードとリカバリーモード

母艦としてWindowsXP環境しかなかった時点では、よく勘違いしていた点。 DFUとリカバリーモードは WindowsPC版のiTunesでは区別ができないし、そもそもWindowsPCでは、DFUなのかリカバリーなのかを見分ける簡単な方法がなかった。

無論、「iTunes→USB」というリカバリーを示すイメージが表示されるのがリカバリーモードだが電源が切れた状態でのリカバリーモード突入状態か、DFUなのかは、つないでみないとわからない。

手順を間違えれば、容易にリカバリーモードになってしまうし、ただの電源オンオフになることもしばしばあある。MacOSX環境があれば、つないだ時点で識別できるので便利だ。

スリープボタン(長押しで電源電源が切れる)ボタン、ホームボタン(丸)を次の手順で操作するとDFUになる。

1.iTunesが起動しないように、iTunesで当該iデバイス接続時のiTunes自動起動をオフする。
2.iデバイスの電源を切った状態で、USBケーブルで接続。
3.スリープボタン2秒押し
4.スリープボタンとホームボタンを同時押し10秒(液晶が、基盤ごとパワーオフされた瞬間光る)
5.スリープボタンを放すが、ホームボタンは押しっぱなし。15秒
6.画面が黒い状態がDFU状態。

DFU状態は、JBの際には重要なポイントだが、意味もわからないヤツにDFUさせるための手順をわざわざ
こったものにするのがJBツールの常らしく、DFUになっているかどうか確認してはいないようだ。
すでにDFUになっているが、JBツール側とのマッチングが取れてない場合には動かないものもある。

・IPSWとカスタムFW

カスタムFWについては、大して知識がないので割愛するが、Mac環境ではIPSWを展開して色々と準備作業をすることができる。おおかたのJBツールでは、アップグレードに使われるIPSWファイルに改変を加えて、Systemが最初から持っているipswローダ部分をまるごと使っている。最近ではアップルコンピュータの認証を得ないIPSWを流し込めないため、認証サーバを上手く偽造するツールがある。

いずれにしろiOSは、MacOSと互換性があるため、MacOS上でカスタムファイル、パッチャーを追加して流しこむのは楽だ。WindowsPCでは必須のUSB/TCPMUX機能を持つiFunBoxに相当する便利な道具はなく、iPhoneExplorerが今のところファイルのやり取りをするだけだが、まあそれなりに使える。

・TetherdJBとはなにか。

 要するに普通にJBプロセスして行くだけでは、機器の外に直接アクセスするような実行ファイルが認証されないモードになったように見える。インターネットブラウザのSAFARI、Cydiaのようなものが正常に起動しない。しかも、redsn0wでは、JB時に排他的な選択肢として「Tetherd」の選択ボックスを用意している.  つまり1回目には、本体のJBにつながるファイルの転送など、2回目にはTetherdJBを選択することで辛うじて使えるものになっている状況である。通常は2段階のJB関連作業が必要になり、この作業はシステムを再起動するたびに行わなければならない。


・Tetheredの罠

 非常に使いにくいのは、CydiaやSafariが無効になってしまうTetheredの罠である。Cydiaがアップグレードを要求した際にリブートしたのだが、この際も一旦半ばJBと同じDFUを経由して、TetherdJBとなる。これでは仮出所に近い。まあ、所詮、iPodは副次的な機材だし手軽な開発ターゲットとして家に置くのだから別に構わんのだが、気軽に電源も切れないのはちょっとどころの不便ではないようだ。

現に、SBSettingsなど必須アイテムをインストールする際にも発生する。シェルであるスプリングボードに直結するSBSettingsをインストールにしたら、もう再起動はしない。 この場合は、絶対に再起動時はDFUに落とし込まなくてはならない。 そして、その度に赤雪の世話になり「Tetherd Boot」を選んで動かせるようにすることになる。 最初の最初だけれど不便すぎるし、ココロ細いJB初心者はここで文鎮化したと判断して修理するかの判断を余儀なくされるはずだ。この改変時点でアップル社の意図通りで対JB作戦はかなり成功しているように思われる。


・しかもCydiaは相変わらず・・・・

配布している MobileTerminalが古いままなので動かない。結局Cydiaが動くかどうかというのは、Tetherdで有るか無いかを知るための道具に過ぎなかったような。 今や、業務的にもMobileTerminal/OpenSSH(daemon) が動けば、用事が足りてしまう私にはあまり関係ないかもしれない。MobileTerminal風な機能をAppleが用意してくれれば、JBなんてしないでそのまま使うんである。隠すというのはスケベごころをくすぐる悪いものと言おうか。

0 件のコメント: