The instructions here are useful although the current packages in Arch and Debian repositories do not work with iOS 7 (Trust Loop Bug) but it is still a good starting point to understand how this works.
https://wiki.archlinux.org/index.php/IPhone_Tethering
In order to get iOS 7 support, we need to compile everything from master -- See the attached script for your distribution.
Start usbmuxd: usbmuxd
Create a mount point: mkdir /media/iphone
Mount the device: ifuse /media/iphone
(You can unmount using umount /media/iphone
)
You should now be able to view the contents of your iPhone.
At this point you should reboot so that modules and rules get loaded. After that, I gave up on ArchLinux due to issues getting actual network traffic to go across, so I can't speak for ArchLinux from herein. However I did have success on Raspbian. You should be able to simply plug in your iPhone and see a new interface come up and be able to ping the outside world. Enjoy!
When I connected the iPhone via usb after running
raspbian-install.sh
and rebooting, I no longer experienced the Trust Loop Bug, however, when runningsudo ifuse /media/iphone
I got an error advising that it could not find a connected device.I found the answer in
iphone_libs/ifuse/README
. I ran the following commands and then rebooted:After a reboot I was able to successful use ifuse to mount the iphone and use hotspot.