iOS のアップグレード
この記事では iTunes を使わずに iDevice の iOS のバージョンをアップデートする方法を説明しています。jailbreak された 6.x デバイスを iOS 7.1 (残念ながら、jailbreak されていません) にアップグレードすることにより、iPad 3 (GSM または "AT & T") でテスト済みです。
イントロダクション
iPod/iPad/iPhone は libimobiledevice プロジェクトによってサポートされています。libimobiledevice パッケージにはデータや設定をバックアップ・リストアするための idevicebackup2
など多数のツールが含まれています。
ファームウェアのアップデートでは全てのデータが消去されるため、まずはアプリとデータをバックアップする必要があります。
必須要件
ハードウェア:
- iDevice (iPad 3 GSM でテスト済み)
- USB ケーブル
- 念の為、十分なバッテリー (30% でテスト済み、終わった時も 30% のままでした)
パッケージ:
- libimobiledevice
- libirecovery (下を参照)
- idevicerestore (libirecovery に依存) (下を参照)
- usbmuxd (1.0.9-1 ではパッチが必要です、下を参照)
リカバリモードの iDevice にアクセスするには権限が必要になります。全てを root で実行するのが気に食わない場合は、udev ルールを作成します:
/etc/udev/rules.d/42-ipad-recovery.rules
# iPad 3 GSM in Recovery Mode, Apple, Inc. Apple Mobile Device [Recovery Mode] SUBSYSTEM=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1281", TAG+="uaccess"
idProduct は lsusb
で確認してください。
libirecovery を /tmp/i
にビルド・インストールします (コミット 3687ea11271b79fb2643c8f041490544c17c5e58
でテスト、iOS をアップデートした後パッケージは不要になります):
git clone https://github.com/libimobiledevice/libirecovery.git cd libirecovery ./autogen.sh --prefix=/tmp/i/fs make && make install
idevicerestore をビルド・インストール (コミット 9bc7a528d6ff42211f8d19ffa8ab2c2d371ea8d0
でテスト):
git clone https://github.com/libimobiledevice/idevicerestore.git cd idevicerestore PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/tmp/i/fs/lib/pkgconfig ../autogen.sh --prefix=/tmp/i/fs make && make install
受信バッファが満杯になったときの接続リセットを修正するパッチのあてられた usbmuxd をインストールします (ベースは 1.0.9-1)。https://github.com/Lekensteyn/aur/tree/master/usbmuxd からファイルを取得して次のコマンドでインストール:
makepkg -i
全手順
iDevice のアップグレードは以下の手順によります:
- ファームウェアファイルの取得。
- バックアップの作成。
- 新しいファームウェアのインストール。
- バックアップのリストア。
ファームウェアファイル
インストールする前に Apple がアップデートに署名することを求めるので、基本的に、インストールできるファームウェアのバージョンは最新のものだけです。さらに、そのためにアップデート中にインターネット接続が利用できる状態になっている必要があります。
ファームウェアのアップデートは "IPSW" ファイルとして提供され http://ipswdownloader.com/ で見ることができます。このウェブサイトで、デバイス・モデル・バージョンを選択すれば、一意でないダウンロード URL がわかります。http://appldnld.apple.com/iOS7.1/031-4615.20140310.HJvGp/iPad3,3_7.1_11D167_Restore.ipsw
のような感じです (iPad 3 (GSM) 7.1)。このファイルはとても大きいので注意してください (例のバージョンでは 1.33 GiB)。
バックアップ
デバイスが既に接続されているとして ~/ibackup
にバックアップを保存したい場合:
idevicebackup2 backup --full ~/ibackup/
このバックアップには設定 (Wi-Fi, Apple ID など) とメディア (写真と動画)、アプリ設定が含まれます。アプリそのものはバックアップに含まれないので注意してください。アプリは App Store から手動でインストールすることができます。
新しいファームウェアのインストール
実際のファームウェアのインストールには約8分かかります。インストールの中で、SHSH ブロブが Apple のサーバーから取得されます。この署名がないと、ファームウェアのインストールはできません。
/tmp/i/fs/bin/idevicerestore -e iPad3,3_7.1_11D167_Restore.ipsw
出力 ("COMMENT" はインラインコメントを、<snip>
は行の省略を示しています):
Found device in Recovery mode <snip> About to send filesystem... Connected to ASR Validating the filesystem Filesystem validated Sending filesystem now... [==================================================] 100.0% Done sending filesystem Restoring image (14) [==================================================] 100.0% Checking filesystems (16) Checking filesystems (16) About to send KernelCache... <snip> Sending Baseband TSS request... Request URL set to https://gs.apple.com/TSS/controller?action=2 Sending TSS request attempt 1... response successfully received Received Baseband SHSH blobs [==================================================] 100.0% Sending BasebandData now... Done sending BasebandData Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) Flashing NOR (19) COMMENT: フリーズしてるように見えるかもしれませんが、しばらく待ってください Updating Baseband completed. Mounting filesystems (17) Unknown operation (49) Unknown operation (25) Unknown operation (51) Waiting for NAND (29) Waiting for NAND (29) Got status message Status: Restore Finished Cleaning up... DONE
ファームウェアのアップデートが完了すると、デバイスは勝手に再起動して多数の言語でこんにちはと表示されます。続けてデバイスの設定を行なって "新しいデバイスとして設定" (もしくはそれに類似するテキスト), "iCloud から復元", "iTunes から復元" という選択肢が表示されるところまで進めます。ここで "iTunes から復元" を選んで次の手順に進んで下さい。
リストア
デバイスが既に接続済みであらかじめ ~/ibackup
にバックアップを作成したとします。ファクトリーリセットを行った後は (もしくはファームウェアのアップデートの後) 次のコマンドを実行してください:
idevicebackup2 restore --reboot --system --settings ~/ibackup/
仕上げ
アップデートが終わっても App Store からアプリをインストールする必要があります。新しい機能の設定を確認してプライバシーやセキュリティに何か問題がないかチェックしましょう。