Linux on iPod at SourceForge.
Linux on iPod - FAQs
1 General questions
1.1 What is this?
Currently the project is focused on porting the uClinux kernel to the iPod. Ideally the kernel will support all the hardware features available on the iPod.
1.2 Why would you do that?
A number of reasons, but mainly because its there.
1.2.1 No, really! What are some of the goals?
hope to make a fully functional linux from the ipod that will be able to play a greater variety of formats, have better features and even be compatible with external hardware like flash card readers so you can copy your camera photos directly to your Linux iPod ;)
1.3 But the Apple iPod firmware rocks!!
Yes it is quite good. And if it does everything you want it to do please feel free to keep using it. If it doesn't then perhaps the uClinux kernel is a good place to experiment.
1.4 But the iPod is a MP3 player not a PDA!!
No one said anything about a PDA. This is all about running Linux not converting the iPod into a PDA.
2 Linux Questions
2.1 What is uClinux?
uClinux is a special variant of the Linux kernel that does not require a MMU (a memory management unit).
2.2 But the iPod has a MMU!
Well it has some MMU type facilities but at present they are not sufficient to support the Linux kernel.
2.3 Why is there no support for USB/audio input recording/...
Because it hasn't been written yet. This may be for a number of reasons such as time or insufficient documentation. As stated previous the goal is to support all hardware features on the iPod so hopefully we will get there eventually.
2.4 How was the port done?
With a lot of hard work :) Unfortunately there is not a lot of technical information available for the hardware platform and so a lot of reverse engineering was required to determine how things work. Much of it was guess-work and much of it still is. Hopefully the hardware vendors will be more open in the future with their technical documentation.
2.5 How can you debug the kernel?
Unfortunately there is no simple debug technique. If you open your iPod case it may be possible to use the JTAG interface or hook into one of the serial ports but I've never opened my iPod so you'll have to look elsewhere for assistance there. One of the serial ports for the iPod is connected to the headphone jack, at least as an input, it could be possible to use that but I've never tried.
2.6 Is there an easier way to build all this stuff?
Probably, but its not quite ready for the hungry masses. If you are interested enough to try it out its best to know how some of it fits together. When things are a little more debugged they will evolve to be a little more user friendly.
3.1 What applications can it run?
In theory most applications that run on uClinux can run on the iPod however there are important limitations;
3.2 Is there a MP3 player
The MAD player runs, however it is not quite real-time.
Intel has a highly optimised library for the ARM processor that includes MP3 decoding support. Their sample player runs quite well however it isn't perfect.
3.3 Is there a OGG player
The Tremor player is running at about 80% real-time.
3.4 Can you imagine a Beowolf cluster...
There was an April fools about a bunch of Buddhists ordering a heap of iPods. Too bad... if it were true perhaps they could have clustered them to solve the ancient mysteries...
Translation, yes, but its just silly.
4.1 Can I still run the Apple firmware?
The boot loader allows you to choose to load either the standard firmware or Linux after a reset.
4.2 Will I lose my music? Playlists?
No. Your current preferences, music and playlists will remain. The clock however will be reset.
4.3 Can I access my music and playlists from Linux?
Probably. At this point the software support is still very immature. I haven't tried any of the software available for accessing the iTunes database under Linux.
4.4 Does this work with Mac and Win iPods?
Yes, both Mac and Win iPods work.
4.5 Will this work with newer iPods?
The only unsupported iPod version is the mini. The original scroll wheel (gen-1), touch wheel (gen-2) and dock (gen-3) iPods all work fine.
5.1 I patched my firmware and now I just get the Apple logo!
This means the kernel isn't booting. If you hear the system continually rebooting then there is a problem at the bootloader level, if on the otherhand it appears to have hung then its an early kernel problem. In either case you probably need to re-install the kernel.
5.2 How can I reset the iPod?
For 1st, 2nd and 3rd generation iPods hold down the menu and the pause/play buttons for 4 or 5 seconds, for the 4th generation and iPod minis hold down menu and the action button (center button). This will trigger a hardware reset.
5.3 How can I start the diskmode?
After a reset (see previous question) press and hold the fastforward and rewind keys until you see the "OK to disconnect" message. You need to reset the iPod to leave the diskmode.
5.4 How can I restore my iPod firmware?
Firstly you need to connect your iPod to the host computer with the iPod in diskmode (see previous question). Then simply use the
5.5 My iPod is really messed up how can I fix it?
Probably the firmware partition is not right, you can use the Apple provided restore utility to restore the iPod to the "factory" condition. This means it will erase your music so a fully sync will be required. Simply run the restore tool and click 'restore'. See iPod Manual for more information.
5.6 Can you send me firmware x.y?
No. That software is copyright Apple. You can probably download it from them however.
5.7 I need further help!
Please see the support page for more information on the mailing list and forums.
6 Legal Issues
6.1 Is this legal?
I am not aware of any legal issues in using this software. Having said that I am not a lawyer, nor could I possibly know all the laws that may apply in your particular locale so if you have any concerns either contact someone who would know, or, don't use the software.
6.2 How is the software licensed?
The software I have written is licensed under the GNU public license. There is of course much software required that I have not written. This software is mostly GNU licensed however the details may vary so please consult the original documentation for the details.