Wow!
I’m on the front page of Hackaday! My recent article on Linux on the 2G iPod mini was accepted as a Hackaday post… very nice. Thanks guys!
Check out the Hackaday post if you haven’t already.
Wow!
I’m on the front page of Hackaday! My recent article on Linux on the 2G iPod mini was accepted as a Hackaday post… very nice. Thanks guys!
Check out the Hackaday post if you haven’t already.

Update: (2005-08-17 5:05 pm) This story has made news on Hackaday!
WARNING: This procedure is unsupported by Apple, the iPodLinux project, or myself. I, Reid Burke, can not accept any responsibility for any damage this procedure may cause to your iPod, your computer, or your sanity. I hosed my firmware the first time I tried this (used the wrong bootloader when testing this procedure), and although I recovered my iPod, you lose all of your music and settings on the iPod. That being said, please backup all of your music before continuing!
I recently was able to install Linux on my second-generation iPod mini. Although it still has some known issues it works well for me. It really wasn’t that hard to do, but I had to refer though about 5 different iPodLinux wiki pages and do a few Google searches to fill in the missing pieces. Because of all of the different information it was easy to miss something and screw up, so I decided to write a howto to make it easier on those who are interested in getting Linux on their iPods. Nevertheless, I’d recommend having some experience with the command line before attempting to install it. If you’re interested in getting Linux to work on your iPod mini, then here’s how under Mac OS X:
$ mount
...
/dev/disk1s3 on /Volumes/iPod (local, nodev, nosuid, journaled)
The /dev/disk1s3 portion indicates the iPod is the first SCSI device and so will be visible as /dev/disk1, if on your system you see /dev/disk2s3 then your iPod would be using device /dev/disk2. 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 disk1 as the device for the iPod and /Volumes/iPod for the mount point, please replace these with the corrects values for you configuration.
$ dd if=/dev/disk1s2 of=ipod_os_partition_backup
If you need to restore the backup for any reason simply run the following command:
$ dd if=ipod_os_partition_backup of=/dev/disk1s2
Note: If you want to upgrade the Apple firmware then you should firstly restore the iPod operating system backup using the above command.
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. This is useful if anything goes wrong while installing Linux into your iPod. For more information, see “When something goes wrong…” later on this page.
$ ./make_fw -3 -o apple_os.bin -e 0 ipod_os_partition_backup
$ ./make_fw -3 -o my_sw.bin -l yyyy-mm-dd-kernel.bin -i apple_os.bin loader.bin
$ ./make_fw -3 -o my_sw.bin -i apple_os.bin -l yyyy-mm-dd-kernel.bin loader.bin
$ dd if=my_sw.bin of=/dev/disk1s2$ cp -r lib /Volumes/iPod$ tar xzf ipod_fs_040403.tar.gz -C /Volumes/iPod$ cp yyyy-mm-dd-podzilla /Volumes/iPod/sbin/podzilla
$ chmod +x /Volumes/iPod/sbin/podzillahostname 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
hwclock --hctosys
Now open /Volumes/iPod/etc/inittab and replace it with:
inet:unknown:/bin/inetd
pz:unknown:/bin/podzilla
Where to go from here…
Discover podzilla! You’ll be suprised what it does right “out-of-the-box”. If you’re interested in more functionality, check out the iPL 2G Mini page for more advanced information.
When something goes wrong…
See the iPodLinux troubleshooting FAQ for help if something goes wrong. They do a good job of explainig what you need to do for a wide range of iPodLinux problems.
Again, running iPodLinux on any iPod mini is not supported whatsoever! If you choose to install Linux and you encounter something not working right, by all means don’t ask for support on the iPL forums and waste the time of support people… you’re on your own with unsupported installs like this.
References
Giving credit where credit is due, alot of material on this page was obtained from the follwing wikiPodLinux pages:
In loving memory of my grandmother, Wilma Burke, who touched so many lives through her friendliness and devotion to spreading God’s love through motorcycling. She has been reunited with her husband in heaven on March 9, 2005. You will always be with us in your hearts, and we know that we will see you again someday.