今天想用Gentoo给iPhone同步一些音乐,却发现播放器没有识别。通过dmesg得知:

usb 1-3: New USB device found, idVendor=05ac, idProduct=1297
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3: Product: iPhone
usb 1-3: Manufacturer: Apple Inc.
usb 1-3: SerialNumber: <You mustn't know>

但是系统没有给其分配设备文件,导致无法挂载。重新配置内核,增加GUID分区表等驱动,未果。最后经过搜索,安装了libimobiledevice,但仍未果。

经过实验,发现比尔盖子的iPod不是iOS系统,可以挂载;但其它iOS设备:iPad、iPhone都无法挂载。经过搜索,发现原来需要增加一个USE:ios,然后再深度编译emerge -avuDN world即可。

原来,USE:ipod是给非iOS的iPod使用的,而iOS的iPod touch、iPhone、iPad则需要使用USE:ios。

最后安装ifuse即可。

iOS 5

但若是用此方法,无法使用iOS 5 的设备。那是因为iOS 5太新了,libimobiledevice和ifuse不支持。需要编译安装git版本。

git clone git://git.sukimashita.com/libimobiledevice.git
cd libimobiledevice/
./autogen.sh
make -j2
su -c 'make install'

git clone git://git.sukimashita.com/ifuse.git
cd ifuse/
./autogen.sh
make -j2
su -c 'make install'

#这样系统就会认为你的这两个包已经安装了,就不会再装一次了,但是当这两个包升级以后就需要自己维护了
su -c 'emerge -C ifuse libimobiledevice'
su -c 'mkdir /etc/portage/profile/'
su -c 'echo "app-pda/ifuse-1.1.1" >> /etc/portage/profile/package.provided'
su -c 'echo "app-pda/libimobiledevice-1.1.1" >> /etc/portage/profile/package.provided'