back | next

You can't talk digital music without mentioning the ubiquitous iPod. All-in-all it's a great piece of technology. However, if you have a 4G model (click wheel), you'll need to recompile your kernel in order to get it work with Fedora Core 2. Not really a daunting task, as we'll see.

Step Five The iPod

1. Get a Firewire Card
The iPod is an Apple product and Apple is synonymous with Firewire. I'm sure USB2.0 works, but here we're going with Firewire. I bought the cheapest card I could find at Newegg.com, and it only set me back $15 with shipping. Install it now if you haven't.

2. Recompile the Kernel
First thing you'll need to do is install the Kernel Development tools that shipped with FC2. Just run Add/Remove Packages, and look under Development. Click install. Next, figure out what kernel you're running. I'm running the kernel that shipped with FC2 - linux-2.6.5.1.358, the same as the source files I just installed. If you need to verify what you have, run:

# uname -a
Next, navigate to the directory where the source files are located.
# cd /usr/src/linux-2.6.5-1.358/
Okay, first run make mrproper to clean up the source files. Then run make oldconfig to create a new .config file from the current kernel. Finally run make gconfig to launch the gui interface to the kernel options.
# make mrproper
# make oldconfig
# make gconfig
There's two things we need to configure to get the iPod working. But first, under Processor type and Feature, go to Processor Family and check to see that you're optimized with the correct type. By default, Linux uses Pentium Pro and it won't hurt to change this as we begin. Note that there are obviously a LOT of options when recompiling a kernel; however, do yourself a favor and ONLY change these few - the point is to get the iPod working, right?

Second, we'll need Firewire support. Under Device Drivers look for IEEE 1394 (Fire Wire) Support and check to ensure the following are enabled as modules: IEEE 1394 itself, OHCI-1394, SBP-2 Support (harddisks) and RAW IEEE1394 i/o support. Finally we need to disable EFI support. This is what prevents the 4G iPods from working with FC2 in the first place. And let's hope the people behind FC3+ will disable this feature by default in the future (see graphic below). Go to Files Systems, Partition Types, Advanced Partition Selection and make sure the EFI GUID Partition Support is a big N. Then be sure to SAVE your configuration.

Next, we'll want to give our kernel a new name by editing the EXTRA VERSION field to -1.358iPod in the Makefile.

# gedit Makefile
Next we'll need to create an image of the kernel file by running make bzImage (this takes a while). The next three steps are creating the modules, installing the modules and installing the new kernel to the system with make install. Again, this could take anywhere from 20 minutes to an hour to complete. Relax, have a beer or something.
# make bzImage
# make modules
# make modules_install
# make install
When all that has finished, look in your /etc/grub.conf to see that your new kernel info is in place. Remember the system will run what's listed under default, and the first kernel listed is 0. Okay, you're done, now reboot (but don't plug that iPod in yet!)

3. Install Gtkpod
XMMS
Real Name: gtkpod
Website: gtkpod.sourceforge.net
Back to easy stuff. Download the FC2 rpm from Freshrpms and install it, you probably won't have any dependency issues. If you do, I hope you know what to do. More than likely you'll need the libraries for AAC (faad2-2.0-1.1.fc2.fr.i386) and ID3vx tags (libid3tag-0.15.0b-3_1.rhfc2.i386).

Next, we need to create a mount point for the iPod, and give ourself ownership and permission to it. I made mine in my home directory (as opposed to /mnt):

# cd /home/one
# mkdir /home/one/iPod
# chown one /home/one/iPod
# chmod 755 /home/one/iPod
Now let's open gtkpod and set some preferences. I'm going to let gtkpod handle the mounting and unmounting of the iPod. Look at the settings here:

Finally, we'll need to add the following to /etc/fstab in order to mount the device: Be sure to change the device (it's more than likely as listed) and path to match your system!

/dev/sda2 /home/one/iPod vfat defaults,uid=500,gid=500,user,noauto,rw 0
Now, go to your trusty Windows computer and run the iPod updater (vfat, right?). We'll need a virgin iPod so restore the device to factory settings. Remember you'll need the AC adapter and the firewire cable to complete this.

Bingo. Everything's in place. Now plug your iPod in and reboot the system. If kudzu pops up during reboot telling you it found a new SCSI device, I tell it to ignore the iPo (either way it works for me). With any luck, you'll get the Do Not Disconnect sign flashing on your iPod when your desktop appears. Now start gtkpod and add some files to it (I like the DIRS option). Ignore the initial warning and let gtkpod create the directories when you hit the SYNC button. Then exit gtkpod when your done. Note: I just unplug the iPod after gtkpod quits and the icon is gone from the desktop. Yes, the Do Not Disconnect sign is still flashing, but it does no harm. If you really want to unload it, just run umount /dev/sda2 as root. Catch is you may have to reboot to get Fedora to recognize the iPod again. Great, it works... what an achievement. No more iTunes!

Okay, we can play and create mp3 files, and send them to any number of drives/devices. In our final installment, we're spending the big bucks on the Squeezebox, wireless music server for Linux, Windows and Mac.

back | next