Put RockBox on your iPod and Never Again use iTunes
Posted by notKlaatu , 04 March 2008 · 132 views
Two things: 1. Funny thing about mp3 files...that file format, so ubiquitous on our machines, we don't own. In fact we barely have the right to make mp3s ourselves and it is only because we paid for our OS that we can use them at all. Bad news for people who aren't paying for their own OS; cuz in that case, who's paying for the oh-so-important honor of getting to use the .mp3 file format? and the .mp4 format? to say nothing about .mp2, .ac3, and others? 2. So far I haven't ever bought an iPod, although I've acquired three iPods, an iPod shuffle, and an iPhone. OK, so I traded the iPhone for a Nokia N800, but everything else I still have. Funny thing about iPods...the way it interfaces with the computer is via iTunes, and I just love iTunes. You know what I hate, though? When a simple list of well-defined items are stored in completely cryptic and random order. For instance...here is a list of items on my desk right now: "magazine" "iPod" "lamp" "Linux Format Magazine" "coffee" Here is what that list would look like in the iPod database that iTunes creates: F1 F2 And within those items would be: F1 = "EJGUD" "JDUNN" "LKMDP" F2 = "HDNSA" "YEMFF" Make sense? Oh, hey, since you're looking around in there, could you hand me my coffee? What? you can't tell which one is my coffee? and you can't figure out how to get it out of F1 or F2 anyway? Oh yeah, and I forgot....I hate iTunes. And I hate that an iPod, which theoretically costs anywhere from $250 to $350 (or $600 if you count the iPhone price when I was given one) can't read or play but three or four file formats. For instance, what if I don't want to call my music "JDHUE" in a folder called F34 in a hidden directory called itunesdb? And what if I want to plug in my iPod to ANY computer I have access to and be able to add or subtract music from it without first erasing the whole thing? And what if I get a file in an ogg format or even, God forbid, a wma format? Shouldn't I be able to put that on my supa fancy hi-tech media player? I was having a terrible time, honestly, with my 4th-gen iPod because I would use it on my Linux computers at home and on my Macbook Pro at work. Everytime I plugged into iTunes, all stuff I'd put on the iPod under Linux would get corrupted, and I'd lose gapless playback, and then I'd get home and it would take forever for my Linux OS to reassess what was going on in the iPod. And no matter what, the Apple firmware on the iPod just is NOT going to play anything but .mp3, .mpa (all-time stupidest idea for a codec: let's split mpeg4 into two halves so nothing else will know what to do with it!), and .aac (oh wait...THAT'S the all-time stupidest codec). No ogg playback for me. Previously I'd installed Linux on the same iPod, but it really was LINUX for the iPod. It was a fully-functioning OS loaded onto an iPod, sans keyboard or mouse. Sure it played media back well and effectively, but it wasn't a self-contained OS for a media player, and in fact it read its information off the same iTunesDB that the Apple firmware does. What I was looking for was something that would be a good media player OS and would free me from any sign of an iTunesDB or anything like it. I wanted to put my music on my iPod without the need for an extraneous, backwards, badly executed interface. And if it could look cool,that'd be OK. I found just what I was looking for with [http://www.rockbox.org|Rockbox], an open source all-out replacement for the native Apple firmware of the iPod. No more iTunes. No more itunesDB. Just your music, in the format you want it in, where you want it. All that with customizeable themes so it will look cool, too. __Installing Rockbox on Your Media Player__ I am leaving the title generic ("Media Player") because from what I've heard, the iPod isn't exactly the only media player out there with a bad bad interface. Rockbox supports many, many media players. The installation is either going to be very easy, or very hard, depending on what kind of iPod you're starting with. Rockbox requires an MSDOS (FAT32) formatted iPod and will not work on HFS+ (Mac) formatted iPods. This was bad news for me because I have NO access to a Wind0ze machine on which I could re-format my iPod. Luckily, there is a workaround...but it's not easy and the instructions from Rockbox are only for Mac OS X, not Linux - I believe because the defacto mkdosfs program on Linux will not create bootable FAT32 volumes, whereas the mkfs_dos program in OS X will create bootable FAT32 volumes. So if you have access to Wind-ze running iTunes, just plug your iPod into that and let iTunes do what it does best: screw up your music. iTunes will erase your iPod and reformat it into a FAT32 volume. Once that's finished, unplug it from the Wind0ze box (it could have virae), and shut down Wind0ze. Put in an Ubuntu CD, reboot, and install Linux on the box. (OK, you may not want to do that if the Wind0ze machine doesn't belong to you.) Anyway...to reformat an HFS iPod into VFAT, the best place to look is the Rockbox [http://www.rockbox.o...onToFAT32|wiki] but here is how it went for me: I first tried all this under Linux, and everything went quite well until I realized that when the man page for mkdosfs said it wouldn't create a bootable partition, it meant it wouldn't make a bootable partition. Reboot into OS X. 0. First you must unmount but NOT eject the iPod. Easiest way to do this is open up Applications > Utitilies > Disk Utility and choose UNMOUNT from the toolbar. 1. Download the partition map (mbr-xxxx.bin) for your model of player from the Rockbox wiki 2. Open up a terminal and do this: ^% diskutil list^ This lists all connected drives to your system, including the BSD name of that disk. Let's assume that your iPod is located at disk2 3. Now do this: ^% dd if=mbr-xxxx.bin of=/dev/diskN^ where mbr-xxxx.bin is the partition map you downloaded, and diskN is the location of your iPod. 4. To complicate matters, on iPods over 30gb the following steps do not work due to FAT32 limitations, so you'll have to follow different instructions on Rockbox. However, mine is a 20gb 4th gen, so I was able to: ^newfs_msdos -F32 -v iPod /dev/rdiskNs2^ This doesn't give you a whole lot of feedback, but provided there are no errors, you've just reformatted the iPod as a FAT32 iPod. __Installing Rockbox...for real, this time__ Since I'd already tried installing this on Linux and failed, and since I was in Mac OS X anyway, I figured I'd try the GUI tool provided by the Rockbox team to do the installation. So I downloaded their binary and ran it, and it also failed miserably. Lesson learned: Reformat the iPod in either Mac or Windows, then go back to Linux and do the installation. This is all very well documented in the Rockbox installation manual. Here is a brief summmary, but the manual will serve you just as well if not better: Again: we're back in Linux for all of this: 1. Download the latest daily build of the Rockbox [http://www.rockbox.o...html|installer] from their site. 2. Connect your iPod to your Linux box. 3. In a terminal: ^% unzip rockbox.zip -d /your/iPod/^ (where /your/iPod is where ever your iPod is located on your system; usually this is in /media or /mnt) 4. That created a hidden directory on your iPod, so don't be alarmed if it looks like nothing happened. Just ls -al to see what's there, and you'll be pleasantly surprised to see a .rockbox directory now at the root of your iPod. 5. Now download the [http://www.rockbox.o...as#Fonts|fonts] package from the Rockbox site. 6. Once again, in the terminal, do this: ^% unzip rockbox-fonts.zip -d /your/iPod/^ 7. What the Rockbox manual does NOT mention is that one file may want to overwrite another file, but it gives you the option to rename the new file so that the old one is not overwritten. I renamed it whatever-fonts and have since just deleted it entirely. Working fine for me. Rockbox is now installed. But it won't boot until we..... __Install the Bootloader__ 1. Download the [http://download.rock...der|bootloader] that corresponds to your device (iPod, iRiver, gigabeat, whatever] and OS (Linux). 2. This gives you a little script that you'll need to make executable. To do this, cd to where ever the file you downloaded is, and then, as root: ^# chmod +x ipodpatcher^ 3. Now it's executable, so execute it by tying in, as root: ^# ./ipodpatcher^ 4. You will be asked for confirmation, and not long after that, you will hav a bootable Rockbox Media Player. __The Concept of the Box that Rocks__ The Rockbox interface is similar to the native iPod interface, with pages of menus that span "horizontally", if you will, and you navigate through them by pressing the horribly mis-labelled MENU for "previous" and the not-labelled-at-all MIDDLE-BUTTON for "next". You can scroll over the scrollwheel to make selections within each menu. The coolest thing about Rockbox, for me, is that you decide where in the file system your music will be stored, and how. To put music onto my iPod now, I simply drag a folder containing the music onto the iPod on my desktop. No need to jump through hurdles to put music on or take music off. Full ogg support included I never made playlists for my iPod anyway, but if you want to, you certainly can make them -- but you don't need a computer interface for this. You can make playlists right from your iPod. The Rockbox manual can tell you a lot more about this, though, so check with it for full details on all the myriad functions and capabilities of your new Media Player OS. __Themes__ Another cool thing about Rockbox is that you needn't settle for one look for your interface. You can install Themes and also "While Playing Screens" (wps). These are located in the [http://www.rockbox.o...s#Fonts|extras] section of the Rockbox site. These a bit tricky to install, as they seem to be packaged differently depending on who created the theme. There are two variations that I've seen. Some themes are quite self-contained and will disperse the appropriate files into the appropriate places on your iPod with a simple ^% unzip theme.zip -d /your/iPod^ These come as one zipped folder, and if you look into this, you'll see only a .rockbox directory. So if you see this, it is safe to simply unzip the zipped folder you downloaded to your iPod, and it will NOT, as I initially feard, overwrite the real .rockbox directory on your iPod; it simply adds itself into it. This is, as I understand, a pretty fancy feature of the unzip command. Other themes come in three parts; let's say we've just downloaded a theme called penguinix.zip What we would see in this directory is: penguinix.cfg penguinix.wps penguinix The penguinix.cfg you should copy into your iPod's .rockbox > themes directory. You'll know it's the right directory because you'll see lots of other theme .cfg files there. The penguinix.wps and penguinix directory will need to be copied to your iPod's .rockbox > wps directory. That's it. You'll see how to change themes from your iPod during normal use. Enjoy Rockbox.