diff options
Diffstat (limited to 'README')
| -rw-r--r-- | README | 96 |
1 files changed, 4 insertions, 92 deletions
| @@ -2,13 +2,9 @@ INSTALLATION | |||
| 2 | ================================================================================ | 2 | ================================================================================ |
| 3 | 3 | ||
| 4 | For: | 4 | For: |
| 5 | Apple iPhone/iPod Touch 1.0/1.1/1.1.1/1.2/1.3/2.0+ | 5 | Apple Binary and XML Property Lists |
| 6 | + iPod USB cable | ||
| 7 | 6 | ||
| 8 | You must have: | 7 | You must have: |
| 9 | libgnutls-dev | ||
| 10 | libusb-dev | ||
| 11 | libfuse-dev (and the associated kernel modules) | ||
| 12 | libglib2.0-dev | 8 | libglib2.0-dev |
| 13 | libxml2-dev | 9 | libxml2-dev |
| 14 | make | 10 | make |
| @@ -22,94 +18,10 @@ To compile run: | |||
| 22 | ./configure | 18 | ./configure |
| 23 | make | 19 | make |
| 24 | sudo make install # (if you want to install it into your system directories) | 20 | sudo make install # (if you want to install it into your system directories) |
| 25 | libiphone-initconf # (as the user you intend to user the library) | ||
| 26 | 21 | ||
| 27 | On Ubuntu/Debian, you can do: | 22 | On Ubuntu/Debian, you can do: |
| 28 | sudo apt-get install build-essential automake autoconf \ | 23 | sudo apt-get install build-essential automake autoconf \ |
| 29 | libgnutls-dev libusb-dev libfuse-dev libglib2.0-dev libxml2-dev \ | 24 | libglib2.0-dev libxml2-dev |
| 30 | libreadline5-dev | ||
| 31 | |||
| 32 | USAGE | ||
| 33 | ================================================================================ | ||
| 34 | |||
| 35 | Now comes the fun bit! | ||
| 36 | |||
| 37 | == Generating keys == | ||
| 38 | |||
| 39 | IMPORTANT: Before using the library you must run "libiphone-initconf" | ||
| 40 | as your own user (not root). It will generate keys and a host id for your | ||
| 41 | system to be able to communicate with 'lockdownd' on the iPhone. | ||
| 42 | |||
| 43 | It will probably take 5-10 minutes, but thankfully only needs to be | ||
| 44 | run _once_. It MUST be run otherwise communication will not work: | ||
| 45 | |||
| 46 | libiphone-initconf | ||
| 47 | |||
| 48 | The generated keys are saved in '~/.config/libiphone/' in your home directory. | ||
| 49 | |||
| 50 | == Tools == | ||
| 51 | |||
| 52 | There are currently two more executables 'ifuse' and 'iphoneclient', | ||
| 53 | both located in src/. | ||
| 54 | |||
| 55 | |||
| 56 | === iFuse === | ||
| 57 | |||
| 58 | This is probably what you're after; this mounts a view of your | ||
| 59 | iPhone/iPod Touch's filesystem over the USB interface using the native | ||
| 60 | Apple protocol (AFC/"com.apple.afc"). | ||
| 61 | |||
| 62 | ifuse is a Fuse filesystem which allows you to mount your iPhone to a directory | ||
| 63 | like this: | ||
| 64 | |||
| 65 | ./src/ifuse <mountpoint> -s | ||
| 66 | |||
| 67 | To unmount: | ||
| 68 | umount <mountpoint> | ||
| 69 | |||
| 70 | (nb: '-s' is to force single-threaded mode, as ifuse maybe unstable without it). | ||
| 71 | |||
| 72 | Eg: | ||
| 73 | mkdir ~/iphone | ||
| 74 | |||
| 75 | ifuse ~/iphone -s | ||
| 76 | ls -l ~/iphone | ||
| 77 | ... | ||
| 78 | umount ~/iphone | ||
| 79 | |||
| 80 | Currently ifuse (via the AFC protocol) only gives access to the | ||
| 81 | '/var/root/Media/' chroot on the iPhone (containing music/pictures). | ||
| 82 | |||
| 83 | If you have a device that has been jailedbreaked then an additional | ||
| 84 | ("com.apple.afc2") service will have been installed, without the chroot. | ||
| 85 | On jailbroken devices only, you can do: | ||
| 86 | |||
| 87 | ifuse ~/iphone --root -s | ||
| 88 | |||
| 89 | And this will mount a full view of the iPhone's filesystem. | ||
| 90 | |||
| 91 | |||
| 92 | ==== Setting up FUSE ==== | ||
| 93 | |||
| 94 | Note that on some systems, you may have to load the 'fuse' kernel | ||
| 95 | module first and to ensure that you are a member of the 'fuse' group: | ||
| 96 | |||
| 97 | sudo modprobe fuse | ||
| 98 | sudo adduser $USER fuse | ||
| 99 | |||
| 100 | You can check your membership of the 'fuse' group with: | ||
| 101 | |||
| 102 | id | grep fuse && echo yes! || echo not yet... | ||
| 103 | |||
| 104 | If you have just added yourself, you will need to logout and log back | ||
| 105 | in for the group change to become visible. | ||
| 106 | |||
| 107 | |||
| 108 | === iphoneclient === | ||
| 109 | |||
| 110 | 'iphoneclient' is a basic commandline interface for testing, it just | ||
| 111 | runs a few various test operations such as attempting to view/create a | ||
| 112 | test file in the iPhone, but is mainly a developer tool. | ||
| 113 | 25 | ||
| 114 | 26 | ||
| 115 | == Who/what/where? == | 27 | == Who/what/where? == |
| @@ -118,10 +30,10 @@ wiki: | |||
| 118 | http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page | 30 | http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page |
| 119 | 31 | ||
| 120 | code: | 32 | code: |
| 121 | git clone http://git.matt.colyer.name/2008/libiphone/ | 33 | git clone git://github.com/JonathanBeck/libplist.git |
| 122 | 34 | ||
| 123 | mailing list: | 35 | mailing list: |
| 124 | http://lists.mattcolyer.com/listinfo.cgi/iphone-linux-dev-mattcolyer.com | 36 | http://lists.mattcolyer.com/listinfo.cgi/iphone-linux-dev-mattcolyer.com |
| 125 | 37 | ||
| 126 | updated: | 38 | updated: |
| 127 | 2008-09-02 | 39 | 2008-12-12 |
