As there's obviously a new release of Ipods about to happen ( I hear on the grapevine it includes a phone as well ), the old ipod minis were going real cheap over at Dick Smiths. So I bought one. The downside - there had to be one - was that the 4GB ones were only available in pink. Well, a green latex cover has made it look a bit better... sort of.

Of course, I just had to get it working under linux. It was a lot easier than I expected. Being extremely impatient, and wanting to use it now, I did start it up first time using the bosses XP machine, so I don't know about the reformatting and all that stuff. But, now I've filled it with loads of music ( including some of her motown stuff ): ), I've decided to get it working on my workstation.

This box runs FC4, which is kept up to date using yum, but it does have a bit of a non-standard kernel as everything's formatted with reiserfs. Apart from that, nothing particularly interesting there.

Assumptions made in this article...

  1. Plugging in your ipod leads to an automount. My ws mounts it at /media/ipod using udev.
  2. the sudo package is installed. If not, you'll have to su to perform these commands.
  3. The standard development environment is installed ( make, gcc )
  4. I am writing these instructions to build from source, as I can't test the various package managers available or what versions they use.

Lets go...

First off, you almost certainly haven't got AAC support, just mp3. You can implement this by utilising a partial install of the mp4v2 library. ( try the command 'find / -name mp4.h' and if it's found, then skip this bit )

Download the source from http://sourceforge.net/project/showfiles.php?group_id=18676&package_id=14086
current version is 1.3.

tar xfz mpeg4ip-x.x.tar.gz
cd mpeg4ip-x.x/
./bootstrap --disable-server
cp mpeg4ip_config.h mpeg4ip_version.h /usr/local/include
cp include/mpeg4ip.h /usr/local/include
cd lib/mp4v2
edit Makefile:
replace the line "SUBDIRS = . test util" with "SUBDIRS = ."
make
sudo make install

This will allow you to build the gtkpod package with full support.

To do this... Get the source from sourceforge... http://sourceforge.net/project/showfiles.php?group_id=67873
Current version is 0.94.0

tar xfz gtkpod-x.x.x.tar.gz
cd gtkpod-x.x.x
./configure
make
sudo make install

Right, we've got all of the tools that we need to access the ipod, so let's do it.

Plug in your ipod, and wait until it mounts. I use the udev package, so it mounts at /media/ipod. (This is not where the gtkpod program defaults to, which is /mnt/ipod. You'll need to change the configuration to find it once it's started).

Then start the gtkpod program, and a nice gui should appear. All should now be fine. Ctrl-P will allow you to modify the mount point of your ipod. Then highlight your ipod and click on the read button.

I have found two problems with this... it doesn't yet support podcasting, and (most annoyingly), it doesn't seem to see iTunes servers, so you can only load your ipod from local directories.

(Added by NickRout - podcasting in linux is handled pretty well by a very short bash script called bashpodder. I don't have an ipod, but if you tell bashpodder to place the files it downloads into the directory where you store your other music, it should get uploaded to the ipod on the next synchronisation)

NB. I got most of this info from googling for it. However, none of the examples I found worked out of the box. The above commands worked fine for me.