When Apple released the latest generation of iPods, the company also caused a great deal of pain for Linux users. While Linux developers had an easy time getting every other iPod in the past to work with Linux distributions like Ubuntu and SUSE, the latest iPods are different. In their infinite wisdom, Apple redesigned the iPod music database in such a way that it is encrypted with a hash key. Not only does this make it difficult to develop third party software that can access that database, but if you try to sync your 6th gen iPod with Ubuntu 7.10, it will destroy the database, making your music unplayable on the iPod (but still accessible in disk mode).Of course, the Linux community being what it was, it took just a few days before a highly technical solution started making the rounds. But how does Joe Six-pack use this to sync his shiny new iPod? Download Squad delivers. Read on for step by step instructions!First of all, we are going to assume you are running Ubuntu. If you are using a different distro, just do a web search for libgpod0.6.0
Thanks to the good folks in the Ubuntu community, there is a mind-blowingly easy solution to add support for all iPods to the system. Programs like Gtkpod and Rhytmbox call on the gpod library to interact with your iPod, so all you have to do is get the latest version. Simply download this deb package, and run it with Gdebi, which should be the default choice in Firefox. Then, if you don't have it already, use the Synaptic package manager to download Gtkpod, which we found to be the more reliable choice for working with new iPods.
Chances are, everything will be working fine from this point, as long as you select the right model when you first use your iPod with Gtkpod. Just in case you have problems though, here's one last tip, if for some reason gpod doesn't do it all automatically for you. The hash key is based on the iPod's unique "Firewire Number". This number can be discovered very easily by typing "sudo lsusb -v | grep -i Serial" in the Terminal, without the quotes of course. You should see something like this:
iSerial 3 000A27001AF2BE9D
iSerial 0
iSerial 0
iSerial 0
iSerial 1 0000:00:1d.0
The number you are looking for is the 16 digit code. This will be unique to your device. Next, run sudo gedit /mnt/ipod/iPod_Control/Device/SysInfo . You will need to customize this path to wherever your iPod is mounted, usually it will be /media/ipodname/. Paste this into the file:
FirewireGuid: 0xffffffffffffffff
Change the fffffffff part to your Firewire number. Try loading gtkpod again, and see how it goes. If you have any problems, please feel free to discuss it in the comments field of this article.














Reader Comments (Page 1 of 1)
3-18-2008 @ 11:42AM
DagMX said...
6th generation. Not 7th. We're on 6th.
Reply
3-18-2008 @ 12:12PM
Jonathan Allen said...
Must have been confused by the 5.5gen.
3-18-2008 @ 12:05PM
rob said...
Hey Dumbo, it's the 6th Gen iPods you're talking about.
Reply
3-18-2008 @ 12:28PM
Ian Dumych said...
Oh goodness, how embarrasing!
Reply
3-26-2008 @ 4:37PM
Manawa Kulkarni said...
will using ipod on ubuntu with above procedure and then sometimes using itunes mess up my ipod?
Reply
3-26-2008 @ 5:39PM
Ian Dumych said...
Not as far as I know. I don't currently own an iPod, but I messed up my room mate's when I tried to give him some recordings I did, and this solution is the result of my frantic research. As I understand it, libgpod works with the library database that iTunes creates, so theoretically your iPod will remain linked to whatever computer you originally paired it with in iTunes. The whole pairing thing is a restriction that Apple adds to iTunes to help prevent music piracy, but libgpod has no such restriction.
So long story short, I say try it, and let us know what happens! Sync up your iPod with iTunes, try adding or removing something with libgpod, and then see what iTunes does next time you sync it.
Reply
4-21-2008 @ 1:25AM
Stan said...
can someone please explain to me the last part of this how-to i do not understand the last command that has to be applied
Reply