iPod touch をUSBストレージとして動作させる

2010/03/15PDA::iPhoneOS

iPod shuffle 1Gを利用していた時はデバイスはUSBメモリとしても利用することができましたが、iPod touchではそれができません。i-FunBoxなどを利用すればiPod touchの中身にアクセスすることはできますが、利用したい多くのケースでそういったソフトは導入されていないことが多いでしょう。そんなわけで、iPod touchをUSB Mass Storage Deviceとして扱えるようにしてみました。

環境

  • iPod touch 1G/8GB (MA623J)
  • iPhone OS 3.1.3 (7E18) Jailbreak
  • 接続ホスト
    • Linux: Kubuntu 9.04/amd64
    • Windows: Windows XP Pro SP3 on VMware Player 3.0.1

必要なソフトウェア

  • USB Device (JB)
    • リポジトリ: http://apt.dmytro.me

USB Driveについて

iPod touchの内部にUSBストレージとして見せる領域をファイル(仮想ディスク)として予め確保しておき、その領域を見せるようです。このため、iPod touchの他のアプリやi-FunBoxなどでRawファイルシステムとしてアクセスした場合、大きなファイルが一つ見えるだけでその中に含まれているファイルへはアクセスすることができません。

そんなわけで、USBストレージとして割り当てる容量は慎重に設定してください。後述しますが、Windows環境ではUSBストレージとして利用する際に制約があります。

USB Driveの設定

初期画面はこんな感じ。

usb_drive01.png

Windows環境であればDrive Onlyを、Linux環境であればDrive + iTunesを選択するといいでしょう。USBモードの変更の際は再起動が必要となります。

USBモードについて

Drive + iTunes

USBストレージとしてアクセスでき、かつiTunes(のインターフェイスを利用するi-FunBoxなどのソフトウェア)も利用できるというモードです。Linux環境では問題なくUSBメモリ領域へアクセスすることができましたが、Windows環境ではドライバをあてる途中で応答がなくなるため利用できません。

Default

USB Drive導入前と同じ、iTunesがiPod touchを管理できるモードです。USBストレージとしての機能は提供されません。

Drive Only

こちらはUSBストレージとしての機能のみ提供されるモードです。このモードのときにiTunesなどでiPod touchを管理することはできません。

仮想ディスク*1の作成

初期画面のCreate Disk...をタップします。すると、仮想ディスク作成画面へ遷移します。

usb_drive02.png

設定項目の意味は以下の通り。

  • Name: 仮想ディスク名となります。管理時に利用される他、初期状態でのボリュームラベル名*2となります。
  • Size: 仮想ディスクへ割り当てるサイズです。あまり大きすぎず、小さすぎず適当に。

設定が完了したら上部右の「Create」をタップすると、実際に仮想ディスクが作成画面へ遷移します。

usb_drive03.png

こんな感じ。

作成が完了すると元の画面に戻ります。

usb_drive04.png

*1 : USBストレージとして割り当てる領域

*2 : ただし、英小文字は英大文字として設定される

PCに繋いでみる

上記まで完了すれば、PC接続でUSBメモリとして認識されます。以下はLinux環境での認識です。

usb_drive05.png

Linux環境でのdmesgは以下の通り。

[  965.266827] sd 13:0:0:0: [sde] 2097152 512-byte hardware sectors: (1.07 GB/1.00 GiB)
[  965.269079] sd 13:0:0:0: [sde] Write Protect is off                                 
[  965.269083] sd 13:0:0:0: [sde] Mode Sense: 00 00 00 00                              
[  965.269085] sd 13:0:0:0: [sde] Assuming drive cache: write through                  
[  965.273333] sd 13:0:0:0: [sde] 2097152 512-byte hardware sectors: (1.07 GB/1.00 GiB)
[  965.274699] sd 13:0:0:0: [sde] Write Protect is off                                 
[  965.274701] sd 13:0:0:0: [sde] Mode Sense: 00 00 00 00                              
[  965.274703] sd 13:0:0:0: [sde] Assuming drive cache: write through                  
[  965.274707]  sde:                                                                   
[  965.280811] sd 13:0:0:0: [sde] Attached SCSI removable disk 

lsusbの出力は多分これ。

# lsusb                                                   
Bus 001 Device 011: ID 05ac:1291 Apple, Inc.  

参考

こちらのWebページを参考にさせていただきました。
とよしんのブログ : 「USB Drive」iPhoneを外付けのハードディスクにする