Version 1.04: 14 December 2004 Version 1.05: updates, May 2007 Using an iPod with Linux (x86, Fedora distro) HOWTO -------------------------------------------------------------------------- By Andrew Noymer (n o y m e r at gmail d/o/t com) DISCLAIMER: This worked for me. This information is supplied without any warranty whatsoever. -------------------------------------------------------------------------- HARDWARE: Silver + Black Compaq box (circa late 2002), AMD Athlon (32) CPU. [ may 2007: also a Turion64 notebook, running 64-bit FC6 ] iPod Hardware: 20GB iPod (circa 3rd Q. 2004) [ may 2007: this is a "'4G' iPod" (i.e., 4th generation) ] iPod interface: IEEE1394 (not USB2.0) iPod FS: HFS+ (out-of-the-box iPod FS --- I have NOT reformatted the iPod HDD; you can think of this as a "Mac iPod") Computer Software: Linux, Fedora Core 3 -------------------------------------------------------------------------- This worked for me. The description below bypasses numerous blind alleys, false starts, etc. (1) Start with a clean install of Fedora Core 3. I also got things to work with FC3 installed over FC1, but note that in the end this is not the same as a clean install of FC3. I chose Custom, Install Everything, to avoid missing dependencies down the road. If you're morally opposed to having so much bloat on your system, I would say at least make sure you've installed gtk stuff and gcc. Do the install with the iPod plugged-in to the FireWire port (not sure this matters, but that's what I did). In fact, the iPod remains plugged-in for all of this. Never unplug the iPod if the iPod screen is giving you the "do not disconnect" sign. That's what Apple says, and I'm taking their word for it. (2) Before you do anything else, run up2date. Update everything, including the kernel. (3) A reboot doesn't hurt at this point. I know some folks really hate the idea of a reboot as a way to get things to work, but I found a reboot at this stage seemed to get a few things going. (4) gtkpod dependencies: Install libid3tag. http://sourceforge.net/projects/mad/ This is needed for gtkpod (see the INSTALL file distributed with gtkpod [cf. step 5 in this howto]). I assume you know how to install a package as root. This is a source tarball not an RPM. libmp4v2 should also be installed at this point, if and only if you need AAC support. See http://mpeg4ip.sourceforge.net/ UNLIKE libid3tag, you can skip this and still install gtkpod successfully. (I didn't try very hard, but I could not get this to install successfully.) (5) Install gtkpod 0.85 (or latest version). Again this is a tarball of sources. http://gtkpod.sourceforge.net/ [ may 2007: just do "yum install gtkpod", and you're set. I think you need to have "extras" repository enabled or whatever. ] (6) When you boot, the iPod should be detected. If you are running X, there should be a little FireWire icon on the desktop, labeled "iPod", and there should be a line in /etc/fstab that looks like: /dev/sda3 /media/iPod hfsplus Pamconsole,Fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0 Sometimes this does not happen. If the iPod is safe to disconnect (i.e. it is NOT showing a "do not disconnect" icon), then just unplug it and re-plug it and it should be recongnized. Otherwise, reboot. I realize this is not a very satisfying answer, but it works. There are, doubtless, other workarounds, such as mounting it manually but I have not explored this enough. UPDATE: When booting the computer, have the iPod plugged-in. Then eject it (cf. step 9) if you don't need it at the moment. From then on, you can plug it in and have it detected, and eject it when you need to take it, then plug it in again, etc. Most if not all of my troubles of computer not detecting the iPod have occurred when I have booted the computer without the iPod connected. The iPod should also not be in the "hold" position. [ May 2007: FC6 seems to be a step backward relative to FC3, in that it mounts hfsplus file systems in read-only mode --- I have heard that it does this if it detects journaling, and that you can disable journaling very easily by mounting the ipod on a Mac, and running "diskutil disableJournal ____" (where ____ is the address if the ipod, which may be detemined by doing "diskutil list") ** all of this is unverified by me ** ] (7) run gtkpod Make sure the iPod mount point (Edit | Edit Preferences) jibes with above. If gtkpod complains of missing shared libraries, run /sbin/ldconfig (as root) to sort everything out. You will probably need to add a line to /etc/ld.so.conf first, containing the location of the libraries you installed in step 4 above, which is probably /usr/local/lib. This only needs to be done once. Also, you will get a dialog box in gtkpod, informing you of a known bug due to the old gtk lib of Fedora Core 3. I'm going to investigate this if up2date does not make this problem go away soon. UPDATE: as of 2 Dec 04, up2date still has not solved this problem. (8) For more on what to do once you are in gtkpod, see the docs for that program. (9) Do your thing in gtkpod, then quit the app. To make the iPod safe to disconnect from your computer, type "eject /media/iPod" It seems that ejecting needs to be done as root if the iPod is to stop displaying the "do not disconnect" message. You can mount or umount or eject all you want as a regular user, and this will have the usual effect WRT the iPod being mounted, but if you want the iPod to stop displaying "do not disconnect", eject must be done as root. Do not do umount; it won't clear the iPod's "do not disconnect" message (even done as root). If you cannot, no matter what you try, get the iPod to stop displaying "do not disconnect", but you really want to disconnect it, reboot the computer. (10) At this point, things are working, and the gtkpod documentation is all you really need from here on. For details on ripping, there are tons more documents on the web. I realize some of this is quirky and that rebooting the machine to get things to work is sooooo un-Linux, but this basically works. I've read a bunch of testimonials on the web of folks who could not get their HFS+ format iPods working on Linux. This works. A few idiosyncracies here + there, but it works.