2009/06/21

iFuse - LinuxからUSB経由で iPhone/iPod touch をマウント

Main Page - iFuse

今まで知らなかったのでscpとかsshfsでファイルの転送をしていました
計測していないのでわかりませんが多分USB経由の方が転送速度は速いと思います

Fedora11では以下でインストール
# yum install ifuse


下記の device file ですが何か指定しないとエラーになります
ググってみると /dev/hda が例として掲載されているのをいくつか見つけることができました
しかし/dev/hdaでiPod touchが認識されるはずがない、、
けど、なんとなく試しに/dev/hdaを指定してみたらなんかマウントできてしまいました
他にも /dev/null とか試してみましたが普通にマウント可能
どうやらなんでもいいっぽいです
参考になる解説がREADMEしかないので詳細は不明

Mediaディレクトリ以下だけマウント
# mount.fuse.ifuse <device file> <mountpoint>

ルートディレクトリからマウント
# mount.fuse.ifuse --root <device file> <mountpoint>


アンマウント
# fusermount -u <mountpoint>


上記サイトからは見れないのでREADMEを貼っておきます

INSTALLATION
================================================================================

For:
Apple iPhone/iPod Touch 1.0/1.1/1.1.1/1.2/1.3/2.0+
+ iPod USB cable

You must have:
libiphone
libfuse-dev (and the associated kernel modules)
libglib2.0-dev
make
autoheader
automake
autoconf
gcc

To compile run:
./autogen.sh
./configure
make
sudo make install # (if you want to install it into your system directories)

On Ubuntu/Debian, you can do:
sudo apt-get install build-essential automake autoconf \
libfuse-dev libglib2.0-dev

(make sure that you have compiled libiphone first)


USAGE
================================================================================

Now comes the fun bit!

To mount:

mount -t fuse.ifuse <device file> <mountpoint> (if installed to /sbin)

./mount.fuse.ifuse <device file> <mountpoint> (for local access)

Note:
The device file is not important and can be anything but it will show up
in the mtab, so sometimes it's useful.
If you mount your device as regular user, system migth complain that file
/etc/fuse.conf is not readable. It means you do not belong to the 'fuse'
group (see below).

To unmount either do:
umount <mountpoint>
or
fusermount -u <mountpoint>


Currently ifuse (via the AFC protocol) only gives access to the
'/var/root/Media/' chroot on the iPhone (containing music/pictures). However,
if the device has been jailedbreaked a full view of the iPhone's filesystem
will be available with the following command

./mount.fuse.ifuse --root <device file> <mountpoint>

==== Setting up FUSE ====

Note that on some systems, you may have to load the 'fuse' kernel
module first and to ensure that you are a member of the 'fuse' group:

sudo modprobe fuse
sudo adduser $USER fuse

You can check your membership of the 'fuse' group with:

id | grep fuse && echo yes! || echo not yet...

If you have just added yourself, you will need to logout and log back
in for the group change to become visible.


== Who/what/where? ==

wiki:
http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page

code:
git clone git://github.com/MattColyer/ifuse.git

tickets:
http://libiphone.lighthouseapp.com/projects/27916-libiphone/tickets?q=all

mailing list:
http://lists.mattcolyer.com/listinfo.cgi/iphone-linux-dev-mattcolyer.com

updated:
2009-03-28

0 件のコメント:

コメントを投稿