Upgrading iOS (日本語) - ArchWiki

# Upgrading 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` で確認してください。

Note: TODO: create packages for this? Right now they are installed to `/tmp/i` because I do not need them after installation

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

Note: "Sending filesystem now..." の間にステータスコード141で idevicerestore が終了してしまう場合、新しいバージョンの usbmuxd が必要です。必須要件を見て下さい。

ファームウェアのアップデートが完了すると、デバイスは勝手に再起動して多数の言語でこんにちはと表示されます。続けてデバイスの設定を行なって "新しいデバイスとして設定" (もしくはそれに類似するテキスト), "iCloud から復元", "iTunes から復元" という選択肢が表示されるところまで進めます。ここで "iTunes から復元" を選んで次の手順に進んで下さい。

### リストア

デバイスが既に接続済みであらかじめ `~/ibackup` にバックアップを作成したとします。ファクトリーリセットを行った後は (もしくはファームウェアのアップデートの後) 次のコマンドを実行してください:

    idevicebackup2 restore --reboot --system --settings ~/ibackup/

### 仕上げ

アップデートが終わっても App Store からアプリをインストールする必要があります。新しい機能の設定を確認してプライバシーやセキュリティに何か問題がないかチェックしましょう。

Categories:

- Other hardware (日本語)
- Mobile devices (日本語)