Page 1 of 1

14 iPod guide

PostPosted: Thu Apr 03, 2008 6:16 am
by LeadFingers
Getting an iPod to play nice with your system has ruined the sleep of more than one Nix Guru.
This is not a quick or simple procedure.
For those unfamiliar with the command line, or as a last resort for the rest of us,
I suggest using Floola.

For the Diehards, the Terminally bored, and for those whom life has been too easy,
Skip the Floola section and get ready to see just how good you really are!

by hoppiesbox

This may seem out of place, but I'd suggest to anyone having troubles getting Amarok to work with their 6g iPod to try Floola
It's not perfect (not open source, doesn't manage a local library) and definitely can't replace Amarok,
but it does support every feature of the iPod with ease
music, video, podcasts, playlists, artwork, and yes, even has youtube/web video conversion built in

You just unzip the archive and place the resulting folder floola-linux into the root folder of your iPod,
then run the application right off the iPod
in a terminal run:
Code: Select all

or make an app launcher for the Desktop
For the fwid I ran
Code: Select all
 sudo lsusb -v | grep -i Serial

and selected the 16 digit number.
Floola said that looked no good but I told it to try anyway.

You'll have to have used iTunes at least 1 time
which is a bit annoying for those of us who pride ourselves on using Linux exclusively,
but I bit the bullet and brought the thing to work,
installed iToones, copied over some free anti-G.W.Bush song
and then never looked back.

Amarok is a great app to be sure, and I do happen to be one of the lucky ones to have it working with my iPod - but honestly, the 6g iPod is about video, podcasts, artwork, etc - and until amarok can do those things as well as it does music....I'm going to have to keep on going with Floola

Their main download page (5.1Mb)

Online Documentation


Due to a .lib issue in Amarok, this will not work in feisty, must use gutsy.
use Amarok to upload music and GTKpod-acc to upload video
If you use Rhythmbox expect your artwork to be borked

by Ghostbear121..............Nov 07
Okay guys, there's a ton of "how do I get my awesome new iPod to work!" questions. I spent a few hours on it when I should've been working... So here's how:

1) I use Amarok because it's pretty similar to iTunes in a lot of ways. The version you can download from apt-get is perfectly fine. (v1.4.7). The trick to getting your "classic" iPod working isn't amarok, it's a library it uses called libgpod.

Just to add here, we all know Apple changed the hashing around on the new ipod itunesdb: basically if it isn't iTunes that's uploading songs, your ipod will display "no songs" and consider itself empty. That's BS. So, libgpod fixes this 'problem'.

2) Go here:
Download this file: libgpod-0.6.0.tar.gz. Save it to your desktop, your home folder, wherever. I put it on my desktop.

3) Unzip it. I use console commands:
Code: Select all
cd Desktop/

Code: Select all
tar -zxvf libgpod-0.6.0.tar.gz

Code: Select all
cd libgpod-0.6.0

Don't change out of this directory 'till we're done.

4) Now you've decompressed the source code for libgpod. Before anything else, make sure you've got the required dependencies installed:
Code: Select all
sudo apt-get install build-essential libglib2.0-dev libgtk2.0-dev libsgutils1-dev gettext checkinstall

OK now:
Code: Select all
sudo apt-get build-dep libgpod2

FYI: Build-dep installs all the required dependencies for a program, but not the program itself. This is perfect, 'cause we don't WANT the version of libgpod that's on apt right now. We want the one we're about to compile:

5) Compile it!
Code: Select all

Code: Select all

6) Now we build a debian install:
Code: Select all
sudo make install

Code: Select all
sudo checkinstall -D

(If one gives you errors try the other)
You'll get a prompt that says: should I create a default set of package docs?
Just press Enter to say YES.
On the next screen, type whatever description you'd like. Maybe something like "Compiled libgpod-0.6.0". Press enter again. This is what will show up:

**** Debian package creation selected ***

This package will be built according to these values:

0 - Maintainer: [ you@yourcomputer ]
1 - Summary: [ Package created with checkinstall 1.6.1 ]
2 - Name: [ libgpod ]
3 - Version: [ 0.6.0 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ libgpod-0.6.0 ]
9 - Alternate source location: [ ]
10 - Requires [ ]

Enter a number to change any of them or press ENTER to continue:

Type 2, press Enter.
Enter libgpod2 at the prompt. It should now look like this:
2 - Name: [ libgpod2 ]

Press Enter to commit the changes. The package will get automatically installed.

Okay one last thing: we link the libraries:
Code: Select all
sudo ln -s /usr/local/lib/ /usr/lib/

Code: Select all
sudo ln -s /usr/local/lib/ /usr/lib/

There! Now your system has libgpod v0.6.0 installed.

make sure you uninstall Amarok and reinstall it fresh.
Skipping this step will cause you grief !

Code: Select all
sudo apt-get remove amarok; sudo apt-get install amarok

Next, plug in your iPod.
KDE or Gnome will see your device and mount it.
Code: Select all

Find your ipod in that list. Mine looked like this:
/dev/sda1 /media/IPOD

There's a slick little script you have to run that came with libgpod:
Code: Select all
sudo ipod-read-sysinfo-extended /dev/sda1 /media/IPOD/

**Make sure you swap out /dev/sda1 with whatever your ipod is actually connected to and change 'IPOD' to what your iPod is named!**

This script will add an XML file called sysinfo-extended onto your ipod's config directory; it's what libgpod uses to 'see' your ipod's firewire device ID, serial number, etc.

Okay, now fire up Amarok.
Under the Devices tab, there will be a dropdown menu (top-left area of the window).
Move down the menu, select Classic -> (Your Ipod). Mine's an 80gb Black.
Important: set your iPod in AmaroK to the correct version (example..."classic silver 80GB") or the files copied via AmaroK won't show up on your iPod!

to find your iPod firmware #...
it is under settings > about -> and then press the center button 2 times.

To transfer songs to iPod.
Click-Drag-Drop songs to playlist or directly to Devices tab and from playlist to device.
This will Queue the songs for transfer.
Click the Transfer button.

To Disconnect iPod from Amarok
the disconnect command wouldn't unmount my iPod, so i right-clicked the desktop icon and 'Safely Remove' it.

That should be it! Try transferring a couple of tracks, then disconnect it properly. You should see your tracks on your ipod now. Make sure to give a test listen to confirm everything is correct

For those who were unsuccessful with the above How-To

First with the ipod mounted see what is in the file SysInfo, like :
[/code]cat /media/[ipodname]/iPod_Control/Device/SysInfo[/code]
Replace [ipodname] with the name of your iPod
there should be something like :

ModelNumStr: xA448
FirewireGuid: 0x000A27003462572D

If the FirewireGuid is missing
something went wrong with the ipod-read-sysinfo-extended command.
Try running it with sudo and see if that changes anything,
I didn't bother and tried the manual method.
The manual method is described in the libgpod source tree,
look at the file README.SysInfo.

After that I did an :
Code: Select all
sudo apt-get remove libgpod2

I answered yes if it could remove all the other stuff for now.

the I went back to the source tree and did the following things :
Code: Select all
make clean

Code: Select all

Code: Select all

Code: Select all
sudo make checkinstall

Code: Select all
sudo checkinstall -D

option 2, change to libgpod2
Code: Select all
sudo apt-get install amarok

Code: Select all
sudo ln -s /usr/local/lib/ /usr/lib/

After that I sync some new music that wasn't on the ipod before and now I have music !

Again, I'm not sure what the real problem was, before I started the howto I already had amarok and gtkpod for my ipod nano, so the libgpod2 was already on my computer. I think that was also the reason that the first time my sudo checkinstall failed at installing the libaries.


Q) Where do I find my model# ?

A) The model number should be printed on the back of your iPod in fine print under the serial number.


Q) Can my firmware be causing a problem

A) I downgraded my iPod firmware from 1.1.1 to 1.0.3, and made sure to plug the USB cable into the back of my laptop, not the side. Not sure if that was part of the reason this worked,
but in all my searching for an answer, those came up.


Q) did any of you manage to transfer album arts/covers into your iPod?

A) I added all my album art before upload using EasyTag,
then cover art and cover flow worked on my iPod classic 80GB.


Q) how do I add contacts or calanders

A) it turns out you can just drag and drop them from nautilus into the contacts folder.
But using Thunderbird, I needed to install an extension from here to make exporting all your contacts as vcards easy...Then just drag and drop.
same goes for calendars, just drag the .ics (ical) file into calendars folder on ipod, and presto!


Q) Will this work on a 64 bit system ?

A) Yes. If you're running a 64-bit kernel,
you might have forgotten to link against your /usr/lib64 instead of /usr/lib.

sudo ln -s /usr/local/lib/ /usr/lib/
sudo ln -s /usr/local/lib/ /usr/lib/

sudo ln -s /usr/local/lib/ /usr/lib64/
sudo ln -s /usr/local/lib/ /usr/lib64/

If you still can't verify which library path it should use, do an strace and grep for libgpod
Code: Select all
strace -f -o amarok.strace.log amarok


Q) Do you have to run that script every time you plug the new iPods in, or just once?

A) Short Answer: No
Once you run these commands and get Amarok working w/ the new libgpod that's all.
The selection of iPod models changes from the previous libgpod to a new style.
The old style was selecting by generation (about 5 options)
and the new style is selecting the iPod by model, then by generation.

However, for each iPod you own or if a friend wants to use his on your system,
you'll have to run the
Code: Select all

command to get each new iPod working with Amarok.


Q) Okay, did I just brick my ipod classic?

I was able to transfer a couple of songs, but then I had some failed writes, and now it doesn't
show any songs anymore. When I mount the ipod, it's being mounted read-only as well now too.

I also tried to connect it to itunes on a windows xp machine, and I can see the mass storage
drive, but itunes never sees the ipod.

A) The short answer No For support see these 2 links

First time I used my iPod (incidentally in windows) I had to restore since it stopped doing anything. All good since though.


Q) When I plug in my ipod nano 3rd gen, it gets mounted read-only,
so I can't edit that FirmwareID file. dmesg has the following:

hfs: write access to a journaled filesystem is not supported, use the force option at your own risk, mounting read-only
hfs: filesystem is marked journaled, leaving read-only

A) It is hfs formatted.
It would be better (or mandatory ?!) to format it to fat.
Hook it up to iTunes in a windows machine and let it convert the ipod.


Q) how do I get it to auto-eject in gnome

A) Because Amarok was designed in KDE, it has a few quirks that don't agree with Gnome users.
But this should clear anything up.

Go to the device settings for your iPod by going to
Settings -> Configure Amarok -> Media Devices
Then click on the wrench and hammer to go into the settings.
There will be a post-disconnect command box.
Erase anything there
and copy-paste the following command in that box:
Code: Select all
rm %m/iPod_Control/iTunes/iTunesLock;rm "%m/iPod_Control/iTunes/Play Counts";gnome-eject -t -d %d

The first two rm commands are there just in case Amarok does something incorrectly,
I believe it automatically removes the iTunesLock file,
but hey it can't hurt to remove it twice.
The second file is a database of all the songs you've played,
if you don't remove this file these songs will be added to statistics multiple times.
Again, Amarok might remove this file but it can't hurt.

The final command, gnome-eject -t -d %d is the juicy part.
The -t means text only, it allows it to just be a background command.
The -d %d means that gnome-eject will use the device %d,
which in Amarok's case means where the iPod is located.
When you right click on a device in Gnome and click eject this is essentially what happens.
This command allows you to remove a device without having root permissions,
aka we don't need to type sudo
If we had to use sudo in this string of commands it would not work
because we would have no where to type our password.

click Synchronize with Amarok statistics
to have Amarok submit all of the songs you've played on your iPod to
(if you use the service)
Otherwise they will only be added to the Amarok statistics
which can still be useful.
Amarok also does a good job of syncing audio, including syncing album art.
I've heard that Amarok does a really good job on Podcasts as well,
so really Amarok can be a full "headquarters" for your iPod!


Q) Does anyone know if the "Disconnect" button is also supposed to eject the Ipod?
Mine does not and a message pops up
saying that the post disconnect command failed
and to make sure it is safe to remove the device before doing so.
I think it should unmount it (eject it)
but I don't know what to put in the Post disconnect command box
in the Configure Media Device window

A) You can configure the eject command. (Click on the gear icon thing),
then for eject, something like
Code: Select all
gnome-eject -t -d %d /dev/sda1

change sda1 to the drive your iPod uses


Q) This is what it says when i´m trying to run the sysinfo-extended command.
Clues any1?
pisken@gizmo:~/libgpod-0.6.0$ ipod-read-sysinfo-extended /dev/sda1 /media/IPOD
Couldn't read xml sysinfo from /dev/sda1

A) if it says Couldn't read xml ...
it probably means the device isn't mounted where the command is looking.
I had to change mine from /devsda1 to /dev/sdc1.
You can see all of the available drives with
Code: Select all
sudo fdisk -l

and mount will show which of those are mounted and where.


Q) I have downloaded and built the libgpod library but I cannot seem to find the ipod-read-sysinfo-extended command. I've looked through my /usr/bin and my /usr/local/bin and don't seem to have it. Any ideas?

A) You forgot to install libsgutils


Q) I keep getting an Error at sudo checkinstall How do I fix this error ?

A) I was too getting this error at sudo checkinstall
my problem was that my dependencies weren't being built...some URl error was appearing.
I was able to solve it by editing my sources.list

copy the repositorie lines that are being used and add -src after deb,
to the copy...something like this:
Code: Select all
sudo gedit /etc/apt/sources.list

From this
deb gutsy main universe restricted multiverse

To this
deb-src gutsy main universe restricted multiverse

This did it for me. Hope it helps anybody. After that dependencies were fetched and built correctly.

Just follow the howto its pretty straight forward.

The other thing is to use:
Code: Select all
sudo checkinstall -D


Q) Did anyone figure out how to fix this? I saw some other people had this problem but no one has posted a solution yet (I think)

make[2]: *** [install] Error 2
make[2]: Leaving directory `/home/nelson/Desktop/libgpod-0.6.0/bindings/python'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/nelson/Desktop/libgpod-0.6.0/bindings'
make: *** [install-recursive] Error 1

**** Installation failed. Aborting package creation.

Cleaning up...OK


A) In repo settings, check the source box....see attachment ********copy attachment****


Q) When I get to step 5 of the instructions and enter the comand
Code: Select all

I get an error. how do I fix this?

A) I was getting the same error until I completely removed libgpod2 using synaptic. After that, everything worked like a charm!

Thanks go out to the Guru Crew that made this possible

Copied & compiled from the main Ubuntu forum

other usefull iPod how-tos
If you use the above link instructions
you cannot install the dev deb first.
install the library first then the dev deb.
One of them requires a couple of libs to be installed (the dev deb) do it.

iPod support from apple