Home Contact Colophon

Install iPod Linux on Your iPod nano
This project is archived.

In order to install the iPod Linux on iPod nano, you will have to use the latest builds of the kernel and podzilla. These instructions are for HFS+ formatted iPods, and these instructions work on Mac and Linux. All Mac iPods are HFS+ (minus the shuffle). After the Linux installation you will be able to install Doom (iDoom) on your nano. You can also watch full-color movies with the new movie support in iPod Linux!

The Executive Summary
For those who have already installed Linux on their iPods before, here is the nano version. Everyone else, continue reading.
Download the latest kernel and podzilla from here. Download the special bootloader files from here. But, use the special make_fw from here. (Linux users, use the make_fw from the special bootloader files with "-3" instead of "-g nano") And lastly, download the Userland files..

Now, follow these directions. The only modifications you need to make to those directions are as follows:

1. Use the files you downloaded here, not the files from that guide.

2. When the guide says to type "make_fw" at Terminal, use "make_fw -g nano"

That's it!

The Full Installation
These instructions are based upon these.


This section of the guide details how to install Linux on your iPod nano using Mac OS X. To use this portion of the guide your iPod must be formatted with the HFS+ filesystem (this is the default for Mac-iPods).

Locating your iPod

With OSX your iPod should be automatically mounted when you plug it into your Mac. To determine the device name:

Start the Terminal (in your Applications/Utilities folder) application, and run the mount command.

# mount
/dev/disk2s3 on /Volumes/iPod (nodev, nosuid, mounted by leachbj) 

The /dev/disk2s3 portion indicates the iPod is the second SCSI device and so will be visible as /dev/disk2, if on your system you see /dev/disk2s3 then your iPod would be using device /dev/disk2. The location of your iPod is /dev/disk2 in this example.

In the above example the volume is mounted as /Volumes/iPod. The iPod portion will be the name of your iPod.

The following example commands will use disk2 as the device for the iPod and /Volumes/iPod for the mount point, please replace these with the corrects values for your configuration.


The backup file is a complete backup of the operating system partition on the iPod and includes the Apple iPod operating system (this file is about 40MB and can be compressed once the installation process is complete). In both of these commands, change the "/dev/disk2" part of "/dev/disk2s2" to whatever the location of your iPod is (found in "Locating your iPod"). Run these commands in Terminal.

# dd if=/dev/disk2s2 of=ipod_os_partition_backup

That command will generate a file called "ipod_os_partition_backup" in your home folder.

Should you need to restore the backup for any reason simply use the following commands.

# dd if=ipod_os_partition_backup of=/dev/disk2s2

Note, if you want to upgrade the Apple firmware then you should firstly restore the iPod operating system backup.

It is also possible to completely restore your iPod to its factory state by using the restore program from Apple. This will restore the original operating system to your iPod. Unfortunately this will mean any settings or music will have to be copied back to your iPod.

Kernel Installation

To install Linux on the iPod nano you need the core of Linux, the "kernel." To install the kernel you need the iPod Boot Loader files, a special make_fw, the latest version of the iPod Linux Kernel files, the 2005-11-13-kernel version of the kernel, and the iPod operating system backup created earlier in the backup process.

Uncompressing the files:

(How to uncompress files: double-click the compressed (downloaded file), if you get another file that is still compressed double click that file again.)

1. Uncompress the iPod Boot Loader files

2. Uncompress the make_fw file

3. Uncompress the iPod Linux Kernel files

4. Uncompress the 2005-11-13-kernel version of the kernel. Do not uncompress the resulting .bin of the 2005-11-13-kernel version of the kernel.

In the examples below the make_fw tool is the special make_fw you downloaded seperately from the Bootloader. The loader.bin file is from the iPod Bootloader file. The iPod Linux Kernel version is 2005-11-13-kernel.bin.

Now, to keep things simple, here is a diagram showing the compressed files you should have, and the files you get when you uncompress those files.

1. Extract the Apple OS from the backup image.

# Go into Terminal, then drag the make_fw file into Terminal. Type (or copy and paste) this into the Terminal -g nano -o apple_os.bin -e 0 then type a space, then drag the "ipod_os_partition_backup" into the Terminal window. Hit [ENTER].

2. Create a new image including the Linux and the Apple OS.

To boot into Linux by default, and Apple OS by holding down Rewind, use this command:

# Go into Terminal, then drag the make_fw file into Terminal. Type (or copy and paste) this into the Terminal -g nano -o my_sw.bin -l then drag the kernel into the Terminal window. Now, type this -i apple_os.bin then, drag the loader.bin file into Terminal. Hit [ENTER].

To boot into Apple OS by default, and Linux by holding down Rewind, use this command:

#Go into Terminal, then drag the make_fw file into Terminal. Type (or copy and paste) this into the Terminal -g nano -o my_sw.bin -i apple_os.bin -l then drag the kernel into the Terminal window, then drag the loader.bin into Terminal. Hit [ENTER].

3. Copy the new image (which is about 4-5 MB in size) back to your iPod.

# dd if=my_sw.bin of=/dev/disk2s2 MAKE SURE /dev/disk2s2 is your iPod! MAKE SURE! MAKE SURE! Change the "/dev/disk2" part of "/dev/disk2s2" to the location of your iPod found earlier.

4. Copy the kernel modules onto the iPod. The lib folder below refers to the "lib" folder found in the uncompssed kernel release files and contains the modules folder.

# Type this into Terminal cp -r, then type a space. Drag the "lib" folder into Terminal. Then drag your iPod's icon into Terminal. Hit [ENTER].

Userland Installation

The iPod Linux Userland contains the operating system tools and libraries (including the podzilla and mp3 applications). This archive should be installed on your normal iPod filesystem.

Download the userland files and uncompress them (A.K.A. double click them).

# In Terminal, type cd then drag your iPod's icon into Terminal. Hit [ENTER]. # Now, using the Finder, drag all the files that are in the uncompssed userland folder onto your iPod. Do not drag the folder itself. Let them copy. Say yes to any replacement warnings concerning the "tmp" folder.

1. Update the root filesystem with the latest kernel modules.

# Now, in the Finder, copy the "modules" folder, found in the "lib" folder inside the uncompssed folder from the kernel files (that folder is named "uclinux-2.4.24-ipod2") into the "lib" folder on your iPod. Say "YES" to the replacement warning.

# Download this file. Uncompress it. Go into Terminal. Type cd then drag your iPod's icon into the window. Hit [ENTER]. Now type mv enter a space. Now drag the "2005-11-13-podzilla" file into Terminal. Now type sbin/podzilla Hit [ENTER]. Now type chmod +x sbin/podzilla

Your done with the actual work!!!!

Finishing up
Only make these changes if you are an advanced user.

The current release contains a number of usability bugs that can be resolved by executing the following commands.

1. Fixes for /etc/rc. Replace /Volumes/iPod/etc/rc with the following:

hostname ipod mount -t proc proc /proc ln -s /dev/pty/m0 /dev/ptyp0 ln -s /dev/pty/m1 /dev/ptyp1 ln -s /dev/ide/host0/bus0/target0/lun0/disc /dev/hda ln -s /dev/ide/host0/bus0/target0/lun0/part3 /dev/hda3 ln -s /dev/tts/1 /dev/ttyS1 mknod /dev/ttyp0 c 3 0 mknod /dev/ttyp1 c 3 0 mount -o remount,rw /dev/hda3 / hdparm -S 3 /dev/hda

2. Fixes for /etc/inittab. Replace /Volumes/iPod/etc/inittab with the following:

inet:unknown:/bin/inetd pz:unknown:/bin/podzilla

Using Linux

3. Eject your iPod. Drag your iPod disk icon to the trashcan to unmount and disconnect the iPod. Once unloaded your iPod will either reboot automatically or display the "OK to disconnect." message. 4. Reboot your iPod. If the iPod did not automatically reboot hold down the menu and the middle buttons for 10 seconds to reboot it.

To boot your iPod into Linux, either just reboot it, or hold down the "rewind" key. When booting Linux, you should see the normal Linux boot console messages scroll by. Once the operating system is booted the Podzilla application will start. This work-in-progress interface mimics the Apple interface.

When you are finished with Linux you can reboot the iPod by holding down the "menu" and middle buttons for 10 seconds to reboot it.

Cool Things You Can Do Now!
Now, I recommend you install iDoom!

Your iPod nano can also play full-color videos/movies now! Follow the directions on this page! Unfortunately, only the Windows directions for converting videos work because of a bug in the Mac code. So convert on a Windows machine, then transfer them to your iPod using a Mac. Because your nano has a color screen, do not use Cygwin when making your videos. Also, in those directions, where it says to update your kernel and podzilla, just ignore it.

Thanks to Cory Doctorow for help writing this!


No news!

Various Cute Buttons

Home - Colophon © 2006 ThePlaceforitAll.com