iPodLinux is a µClinux-based Linux distribution designed specifically to run on Apple Inc.’s iPod. When the iPodLinux kernel is booted it takes the place of Apple’s iPod operating system and automatically loads Podzilla, an alternative GUI and launcher for a number of additional included programs such as a video player, an image viewer, a command line shell, games, emulators for video game consoles, programming demos, and other experimental or occasionally unfinished software. As of 2009, the project has been inactive and its website is no longer maintained. Further development of free and open source software for iPods have continued with the Rockbox Project, zeroslackr, and freemyipod, which have largely supplanted iPodLinux. Some third party installers are still available.
iPodLinux in essence consists of a Linux kernel built from µClinux sources using the uClibc C standard library with driver code for iPod components (or reverse engineered drivers where available). It includes userland programs from µClinux and/or BusyBox, a UNIX-style file system (which can be created within HFS+ formatted iPods, or an ext2 partition on Allocation Table formatted iPod), and the Podzilla GUI (and its modules). Apple’s proprietary iPod OS in contrast uses an invisible boot loader and is based on an ARM processor kernel originally written by Pixo, and the iPod Miller Columns browser program, a GUI written by Apple and Pixo using the Pixo application framework, and other firmware and component drivers written from manufacturer’s reference code to support the standard behavior Apple wanted the iPod to have.
Besides the kernel, iPodLinux features as a primary component podzilla and podzilla2, applications which provide:
The bootloader for the 4th generation iPod was extracted by Nils Schneider, a German computer science student. Previous software methods to extract the necessary bootloader no longer worked. Bernard Leach had previously discovered how to operate the piezo buzzer inside the iPod. Schneider was able to use his program with some modifications to make a series of clicks for each byte of the new iPod’s bootloader. The extraction process took 22 hours to complete and required Schneider to construct a soundproof box to prevent outside interference with the process.
On June 11, 2008, the organization’s website was suspended and replaced by a redirect to a blank page. The server has had its services restored incrementally. On October 1, 2008, the DNS address for iPodLinux.org was updated and the server was reactivated on October 5, 2008. On June 22, 2009, the server was removed from service. The server went back online on September 8th. In September 2010, the server was again disconnected and has not yet been put online. Alexander Papst, one of the developers, posted a mirror of the site to ipodlinux.wiki. the site is offline. However, at an unknown date, the site is backed up again.
According to the iPodLinux wiki, “the developers have managed to get to work – it does not mean that the feature is ready to be widely used.” Since August 5, 2006, only iPods 1st, 2nd and 3rd generation are officially supported by iPodLinux, although the new generations are partially compatible. The iPodLinux project does not provide support for iPod shuffle due to the lack of a GCC compiler for the shuffle core DSP57000, as well as the fact that the iPod shuffle does not have a display. Although subsequent generations work well for many uses of iPodLinux, not all features work; these later generations will not be officially supported by the project until most or all of the functionality of the previous iPods has worked. The installers are doing it. From now on, there is a 2.3 installer for Microsoft Windows or Linux that can be installed on any build iPod (except the iPod shuffle and 2nd generation iPod nano). Since April 2008, iPodLinux does not work with the new firmware of the iPod that came with the 2nd and 3rd generation iPod nano or the 6th generation iPod Classic, and the installer 2 can not be used to install iPodLinux on a Fifth generation iPod. On top of that, the much talked about audio recording feature does not currently work on the latest versions of ipodlinux / zeroslackr. In ipodlinux, a subdevelopment message is given under registration, while in zeroslackr, the record is not displayed at all. Undoubtedly one of the most notable achievements of the project is its video player, released months before rumors on Apple’s iPod video began to spread. This video player only plays uncompressed AVI files, which are essentially a series of bitmap images with an audio overlay that usually loses synchronization with the video output. A new compression technique called MoviePod, launched in 2006, allows people to put more video content on their iPod. This feature continues to be developed and is a useful feature for older iPod users (especially nano users who, with the help of iPodLinux, can get a very small media center that can be held in the palm of the hand). podzilla 2, the second generation of podzilla, and commonly known as pz2, is currently in development and has recently replaced the original version of podzilla. It includes several new features, including modularity; users can install new applications without recompiling all podzilla. This version is the only official Podzilla game that works on 5.5G iPods. Please note that 2012 iPods have not been considered yet.