iPod Touch Guide

The Ultimate Guide for the rest of us

iPod Touch Guide

Postby LeadFingers » Fri Jun 20, 2008 10:20 am

Using iPod Touch with Linux

from Buddhika Siddhisena
Hacking the iPod Touch pt1
Hacking the iPod Touch pt2
Hacking the iPod Touch pt3



The first step to using your iPod Touch with any of the Linux apps is a process called Jailbreak.
This allows your iTouch to use 3rd party apps like Rythembox, Amarok, and Xmms.
Unfortunately this requires you to use iTunes in either Windows or Mac.

1) fire up your Windows or Mac and start iTunes with your iTouch connected

2) from your iTouch go to http://www.jailbreakme.com/
and follow the directions.
(Don't shutdown or disconnect anything at this point)

If you have any problems read the documentation on the Jailbreakme page.
This was submitted by sirbow2

A way easier way to jailbreak is to use ziphone

1) Download ziphone for Windows or Mac from ziphone.org
2) Extract
3) Run
4) Cick on ipod touch icon
5) Your done you have a jailbroken itouch (ipod touch)

Second step involves installing a few apps directly onto you iTouch while still connected to Windows or Mac.

1) Launch the Installer .app from the Springboard interface.
Must still be connected to the net.

2) Install OpenSSH server (and even client), BSD Subsystem, DNS tools, SummerBoard.

3) Close everything. Your Windows or Mac trauma is over.


Mounting the iPod Touch

While we may not be able to mount the iTouch as a USB mass storage device, we can mount it over the network - provided it has been Jail broken. The easiest method, which I'll discuss involves mounting the device over SSH with the help of sshfs fuse driver, a user space kernel driver. Other methods you might want to look into are the Apple File Share (AFP) and Samba which are installable on the Touch.

Before you can mount over sshfs, you need to install fuse and the sshfs driver.
In a terminal type
Code: Select all
apt-get install sshfs

You might also want to load the fuse driver manually if you get an error in the next step.
Code: Select all
modprobe fuse

Create a mount point (in your home directory) to mount the iTouch and mount it using its ip address.
Code: Select all
mkdir ~/mnt_itouch

To find ip_of_itouch
Connect to your wireless network, Open Settings/Wi-Fi, and tap the arrow to open the network details. Find the IP address field and write it down, you should see a block of 4 numbers separated by a period,

Note,If your ip changes a lot, you’ll want to set up a static ip because you need the iPod’s ip to sync with Linux.

Code: Select all
sshfs -o allow_other root@<ip_of_itouch>:Media mnt_itouch

Where <ip_of_itouch> is the ip address of your iTouch that you found above.

You should now be able to see the content of your itouch on mnt_itouch directory.


Compiling GTKPod

At the time of writing (Dec 07), you needed the svn version of libgtkpod and gtkpod in order to support the hack explained earlier w.r.t the new ipods. Hopefully by the time you read this, you might be able to use the stock version that come with your distro of choice. I would advise to try that first.
If not, there is a good howto. These are basically the steps involved.

Code: Select all
mkdir gtkpod

Code: Select all
svn co https://gtkpod.svn.sourceforge.net/svnroot/gtkpod/gtkpod/trunk gtkpod

Code: Select all
svn co https://gtkpod.svn.sourceforge.net/svnroot/gtkpod/libgpod/trunk libgpod

Code: Select all
mkdir ~/local

Code: Select all
cd libgpod

Code: Select all
./autogen.sh --prefix=/home/<user>/local

Where <user> is your username.
Code: Select all
make && make install

Code: Select all
cd ../gtkpod

Code: Select all
PKG_CONFIG_PATH=/home//local/lib/pkgconfig ./autogen.sh --prefix=/home/<user>/local

Where <user> is your username.
Code: Select all
make && make install

Create a small launch script for gtkpod as follows
Code: Select all
cd ~/local/bin

Code: Select all
echo 'LD_LIBRARY_PATH=/home/<user>/local/lib /home/<user>/local/bin/gtkpod' > gtkpod.sh

Where <user> is your username.


New hack: Getting the Firewire GUID and setting it in libgpod

The hack for the new ipods require something called a firewire GUID to be taken (I think its used as a salt in the hash algorithm) and written so libgpod can use it. For this, you need to plug in the iTouch over USB and wait a couple of seconds for things to settle before executing:

Code: Select all
lsusb -v | grep -i iSerial | head -n 1 | sed -e "s/.\+3[ ]//"|cut -c1-16

It should give you a 16 digit serial that looks like this a12b3c1a35c7ba56
Code: Select all
echo 'FirewireGuid: 0x<insert_your_16_digit_serial_here>' > ~/mnt_itouch/iTunesControl/Device/SysInfo

Where <insert_your_16_digit_serial_here> is your 16 digit serial

Now if you launch gtkpod via gtkpod.sh it should recognize your iTouch automatically (since its mounted on your home directory). Before you sync any files, it would be a good idea to select the ipod touch / iphone model from the list available on gtkpod.


For those of you that want to install 3rd party apps (ie... iPhone software) directly on to your iPod Touch, read the following Blog http://www.geekaholic.org/2007/11/hacking-ipod-touch-iphone-part-2.html

The site also has a compatibility List here http://www.ipodtouchfans.com/wiki/index.php?title=IPod_touch_Application_Compatibility



There are still some issues with this method,at the time of writing (Dec 07):

* Album art doesn't seem to work.

* Only preliminary support for Photo management. I could only view and download photos. Not upload new ones.

* Podcast playlist not supported. AFAIK this isn't quite supported with old ipods with gtkpod. But it does work with old ipods on amarok - not sure why.

* Slow, very slow syncing large files. I think this is a result of mounting over ssh. The encryption must be stressing the iTouch processor. May be the Samba or AFS is faster here.

Another tip if you plan on using iTunes and gtkpod is to use the SwapTunes.app on the iTouch to keep two copies of the iTunes database - one for iTunes and the other for gtkpod. This way you risk less, corrupting the iTunes database
1st Box: Ultimate Edition 2.0 x64/ 1.8 x64
2nd Box: XP (dusty)
3rd Box: Stable Media box Ultimate Edition 1.8 x64 with XBMC

The Oxen are slow but the Earth is patient ~Chuen~
User avatar
U.E. God
U.E. God
Posts: 1303
Joined: Fri Nov 23, 2007 1:46 am
Location: Salem Oregon
Age: 58
Operating System: Ultimate Edition 3.1 64 BIT

Return to Newbie's Corner

Who is online

Users browsing this forum: No registered users and 5 guests