
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:
- The make_fw firmware creation program and the loader.bin boot loader included in the official iPodLinux boot loader package does not work with iPod mini. Support for the mini has only been recently introduced. For your convenience I have compiled the latest version (as of August 15th, 2005) of make_fw and loader.bin and am providing the binaries to download. You can obtain these files here. Create a iPodLinux working directory for iPodLinux-related files and extract the download into that folder.
- Now you’ll need to download the iPodLinux kernel and podzilla, the GUI for iPodLinux. The release versions of these files won’t work with iPod mini, so we will need to download a nightly CVS build of both files. Simply visit the iPodLinux nightly builds download area and download the latest compressed kernel and podzilla binary. Extract these files into the iPodLinux directory you created eariler.
- You’ll also need to download the official kernel package to obtain the necessary libraries needed by the kernel. Download the latest kernel release from SourceForge.net’s download area and extract it anywhere. You should get a folder named “uclinux-2.4.24-ipod2″ (the current release as of August 15th, 2005). Drag the lib folder inside of that folder into your iPodLinux working folder.
- Finally, you’ll need to download the base filesystem for iPodLinux, located at SourceForge.net’s download area. Don’t extract the downloaded file, simply place it into your iPodLinux directory. You should now have these items in that directory: the lib folder, ipod_fs_mmddyy.tar.gz make_fw, loader.bin, yyyy-mm-dd-kernel.bin, and yyyy-mm-dd-podzilla.
- Connect your iPod to your computer. You’ll need to discover the device name, so open Terminal and run the mount command:
$ 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.
- Before continuing, you should create a backup of the Apple OS. 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). To create a backup file, open Terminal, cd into your iPodLinux directory, have your iPod connected and run:
$ dd if=/dev/disk1s2 of=ipod_os_partition_backupIf you need to restore the backup for any reason simply run the following command:
$ dd if=ipod_os_partition_backup of=/dev/disk1s2Note: 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.
- Now you’re ready to install iPodLinux into your iPod. In Terminal, make sure you’re in your iPodLinux directory. Now extract the Apple OS from the firmware image.
$ ./make_fw -3 -o apple_os.bin -e 0 ipod_os_partition_backup - Create a new firmware image containing both Linux and the Apple OS. (Remember to replace yyyy-mm-dd-kernel.bin with the appropiate filename of your kernel.)
- To boot into Linux by default, and Apple OS by holding down Rewind, use this command:
$ ./make_fw -3 -o my_sw.bin -l yyyy-mm-dd-kernel.bin -i apple_os.bin loader.bin - To boot into Apple OS by default, and Linux by holding down Rewind, use this command:
$ ./make_fw -3 -o my_sw.bin -i apple_os.bin -l yyyy-mm-dd-kernel.bin loader.bin
- To boot into Linux by default, and Apple OS by holding down Rewind, use this command:
- Write the new kernel image (about 4-5 MB) to your iPod.
$ dd if=my_sw.bin of=/dev/disk1s2 - Copy the kernel libraries to your iPod.
$ cp -r lib /Volumes/iPod - Copy the base filesystem to your iPod.
$ tar xzf ipod_fs_040403.tar.gz -C /Volumes/iPod - Copy the nightly podzilla binary to your iPod.
$ cp yyyy-mm-dd-podzilla /Volumes/iPod/sbin/podzilla
$ chmod +x /Volumes/iPod/sbin/podzilla - The included /etc/rc and /etc/inittab files need to be edited for greater stability and for the clock to work.Open up an editor and replace /Volumes/iPod/etc/rc with:
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
hwclock --hctosysNow open /Volumes/iPod/etc/inittab and replace it with:
inet:unknown:/bin/inetd
pz:unknown:/bin/podzilla - You’re done! Eject your iPod and it should automatically restart. Depending on how you installed your firmware eariler, you may need to press Rewind while the iPod reboots to get into Linux (or back into the Apple OS).
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:



66 Comments, Comment or Ping
PHaT
Hey man this is a really good tutorial, but do you know where I could find something similar to this for windows? Also, I got a mini 1G… do you think it’ll work similar to the 2G if I try this?
Aug 29th, 2005
Reid
For the mini 1G, you could try the unofficial iPodLinux 4G Installer which also works for the 1G mini.
For Mac 1G mini users, try this installer.
Sep 4th, 2005
Anton
Hey man this is really good but could you make a version for windows.
Sep 11th, 2005
Reid
If you look at the comment I posted before you, you’ll find a installer program that does all the work for you on Windows.
Sep 11th, 2005
ERlack$
Hey Reid, Where did you get that sweet clear case???
Sep 17th, 2005
Reid
I got the Spack Product’s ToughSkin from the St. Louis Apple store awhile ago. I think you can buy the case direct as well from that website.
Sep 18th, 2005
Alex
Is there a tutorial (or can u help me) on how to install on a 2G mini with windows or linux?
Sep 18th, 2005
Reid
If you would look at the (first) comment I made eariler on this post you’ll find that I already answered your question.
Sep 18th, 2005
Alex
No, the first comment you made was for the 1G mini on windows, I need a 2G mini on windows (or linux)
Sep 19th, 2005
Reid
Sorry, I wasn’t paying attention (it was late at night :P). This is not (easily) possible from Windows, but for Linux, you could follow steps 1 through 4 on my procedure to get the required files, then follow the steps in this procedure substituting the files you downloaded from here with the files suggested on that procedure. Also, make sure you use the -3 option whenever you use the make_fw program like I did in my procedure.
Good luck!
Sep 19th, 2005
Alex
It says option -3 is invalid. help?
Sep 19th, 2005
Fr0zt
Hey, I’m using windows as well and am wondering if there’s a way to do this… Is there any way to use the ipodlinux windows installer and copy over these new files into the installer directory? Sorry if this wouldn’t work, I just got my ipod today and I don’t know much about the topic. Thanks
Sep 20th, 2005
Fr0zt
Not sure how to edit my previous post, but I just looked through the windows installer package, and there’s lots of different files from what I’ve got in the ipodlinux working directory. However, I read something about cygwin and could this be used to get the job done? Thanks, I think that a tutorial for doing this on windows would be widely appreciated across the web, thanks.
Sep 21st, 2005
Reid
Alex, you need the make_fw program compiled for 4G support, which isn’t in the release version. If you don’t want to compile it yourself, try this build. I also came across how to for installing to a recent iPod from Linux which may be helpful.
Fr0zt, I assume you have a 2G mini? If so, you could try using the 4G Installer for Windows I suggested eariler while making sure you use a nightly build of podzilla and kernel instead of the ones provided in the ‘Linux Folder’. I can’t confirm that will work, so you’re on your own here. Good luck and let me know if you get it working!
Sep 21st, 2005
Reid
Reading your second message, yeah, they will be similar. If you use the Windows 4G installer (you must use the 4G installer if anything) then you should be able to replace the provided podzilla and kernel with nightly builds.
If the installer won’t work, then Cygwin is used to provide a command shell for installing manually.
I don’t have access to a Windows machine right now, so I can’t test what I’m telling you… proceed at your own risk.
Sep 21st, 2005
Fr0zt
hey, the site you linked to seems to be down right now, do you have a mirror or something? Thanks
Sep 21st, 2005
Reid
What site? Every link I posted in my last comment works.
Sep 21st, 2005
Fr0zt
hey, ipodlinux.org was just temporarily down. So ya, I’ve got ipodlinux working on my 2g mini now from windows. It seems pretty good, but I’ve noticed 1 main problem… When a song finishes playing, instead of loading the next song and playing it, the ipod just freezes and I have to do a hard reset. Thanks for your help, without it I wouldn’t have linux on my ipod right now.
- Fr0zt
Sep 22nd, 2005
Reid
That’s odd. Does it say “malloc failed” in a small box on your ipod when that happens? That’s a problem currently being worked on by iPL devs. If not, it could be that or some other bug. I’d recomment searching and posting on iPodLinux’s discussion forums to find an answer to that.
Always glad to help.
Sep 22nd, 2005
JC
I just tried this on my 2g mini, and its working good until I try to go to any submenu off the toplevel Music folder.
No matter which menu choice I pick, the mini goes to a blank screen (except for the battery and “Music” at the top) and no longer responds.
Sep 23rd, 2005
Fr0zt
No, don’t see anything that says malloc failed. I just tried using floydzilla and it works as well, but I’ve still got the same problem with freezing after playing a song. It plays the song, then displays the name of the next song, but freezes and doesnt play it. I’ll try a playlist and see if that will fix it. Also, is there any way to be listening to music while at the main menu? Thanks
Sep 23rd, 2005
___
Alex: if the -3 option does not exist, it means you are running an old version of make_fw. Try a nightly build or compiling from CVS.
Sep 24th, 2005
Reid
Fr0zt: Weird. You may want to get in touch with the iPodLinux devs if the problem persists. Also, I also haven’t found a way to have music play while doing anything else in Linux… I don’t know if it’s supported yet.
Sep 24th, 2005
amit
hey
my computer is now on dial up internet instead of my preivios DSL since im movin soon, is there any way i can download the neccesary programs to install ipodlinux on windows XP without taking up much time with my 2g ipod mini. I have done (and created) many ipod mods and hacks but i have never heard of this, it is very interesting thank you
Sep 28th, 2005
R. Badger
Hey guys. Frozt, I want to know how you got it working in a 2G Mini. I have a 4GB 2G mini, and for the life of me, I cant get Podzilla to work. When I attempt to boot itno Linux, the iPod freezes and I have to do a hard reset to fix it. No text pops up, it just sits there with a blank screen. Thanks.
Sep 29th, 2005
Reid
amit: Try what I told Fr0zt to do in my eariler comment and see if you have any luck.
R. Badger: Are you using Windows, Mac, or Linux?
Oct 2nd, 2005
kamal
Well Sir ,
my query :does it play OGG files perfectly please tell then only its worth ,
i have 2g mini four giga drive should i also go for http://ipodlinux.org/4G_Installer link 4gipl.zip is 16.2 mb file then on that page also confusion in HOW TO point #2 what does it refert to OS.rar
my request :windows is widely used so please release a page for it too
Oct 11th, 2005
kamal
hey Fr0zt did you have 2g mini after downloading 4gipl.zip (16.2 mb) from http://ipodlinux.org/4G_Installer link and latest compiled build from http://ipodlinux.org/builds/ you must have copied kernel file renamed linux.bin inside (iPod Linux Installer Modded) folder and then you must have run ipod installer.exe and the page (http://ipodlinux.org/4G_Installer) says copy podzilla later on to ipod root
this page also says “It WILL NOT work with 2G mini, color (0×00060004) and nano.”
question is 1. did you use windows
2. is your ipod mini a 2G
3.was the work over with installer.exe file and kernel replacement or did you had to use windows interface what did you do to podzilla ,did you just click installer.exe and that was it or you compiled something on windows command line interface
you can also send me email at kamalneet@hotmail.com
Oct 14th, 2005
kamal
also sorry i forgot to ask 4. did you have USB connection for installation
Oct 14th, 2005
Jake
:-\… why am i having the worst time uncompressing podzilla or the kernels …. podzilla just changes into an 800KB document and the kernels begin to decompress, but they are then called ‘yyyy-mm-dd-kernel.bin’ and they do not decompress from there am i suppose to use these files or what???
Oct 14th, 2005
jake
ok….. how come when i run ‘dd if=/dev/disk1s2 of=ipod_os_partition_backup’ i get /dev/disk1s2/: resources busy
actually in my case the /dev/disk1s2 is replaced with /dev/disk2s3
and how do i fix that?? please respond
Oct 14th, 2005
Reid
Jake, the yyy-mm-dd-kernel.bin is the actual kernel binary (thus the .bin extension). You shoudln’t decompress it further.
Also make sure you use ‘if=/dev/disk2s2′ without a trailing slash, assuming mount reports your iPod is mounted on /dev/disk2s3. (And replace disk1 with disk2 wherever it is found in the instructions.)
Oct 14th, 2005
kamal
DONE ipod mini 2g installation follow
1. http://rodrigokim.zeropoke.net/index.php?op=ViewArticle&articleId=12&blogId=3
2. http://ipodlinux.org/Poke-Zilla
thats it
Oct 15th, 2005
doliver
ive read all the instructions but um… what exactly does ipodlinux do? doesnt say anywhere what it is, or what kind of program.. :S
Oct 19th, 2005
Reid
Doliver, iPodLinux is a very popular project that allows the expansion of your iPod’s capibilities using Linux. Read all about it at http://ipodlinux.org/ .
Oct 19th, 2005
JC
Is everyone thats got this working on their mini using
Oct 21st, 2005
JC
Is everyone thats has this working on their mini only using iTunes versions that are less than 4.9 ?
Oct 21st, 2005
Reid
JC, the version of iTunes you use does not have an effecn on if iPodLinux will work or not. The installation procedure allows you to boot into the “official” orginial Apple OS for listening to your music (including any DRM’ed music) or to boot into Linux to play games, listen to MP3s, etc. You can still sync your iPod with iTunes and such by switching to the Apple OS… and its easy to do: you just reset your iPod and hold down Rewind to switch between the two.
Oct 21st, 2005
___
Alex: uhm sorry that this post is a little late, you asked for a guide for Linux. I’ve written one:
http://www.willempen.org/ipod/ipodlinux-ipod-mini/
I think there are more of them (if you know any, I’d glad to know, I’ll add it to the links section).
If I look at this guide, most things are the same, so with a little knowledge of Unix and some extra pages from iPodLinux’ Wiki, you can use this Mac OS X guide too I think.
Oct 22nd, 2005
JC
I understand that, but I’ve tried this several times, and I can boot into ipodlinux just fine and use many of the various programs.
But once I try to use any of the menus under the main Music menu item, my iPod mini freezes, and I have to reboot it…. I was wondering if the version of iTunes had anything to do with that……….
Oct 26th, 2005
Johan
to excuse me if my grammar is incorrect, but I am French. I will like right knowledge if it had a simple process to install Doom on my minis ipod 2g. If it is not the case can you say to me when that will be possible mercy
Nov 18th, 2005
Reid
I have no idea, check out the iPod Linux website: http://ipodlinux.org/
Actually, I found this website has all the info you need: http://idoom.hyarion.com/
I actually tried using nxdoom on my mini but it looked awful. Looking at the screenshots, iDoom looks alot better and it actually all fits on the screen! I’ll be trying this soon.
Nov 19th, 2005
Zeb
Well i dont mean to be a buzzkill, BUT WATCH YOUR BACK! I like my ipod mini, but its not my original… I bricked my original Ipod Mini and luckily the warranty got me a new one(I had good luck that Apple didnt catch it!) The cause? Ipod linux… So BE ABSOLUTELY SURE YOU HAVE THE CORRECT IPOD VERSION. So the point of my rant, READ Version Info.
Nov 20th, 2005
Reid
Yes, this is true. I nearly bricked my iPod myself when I used the wrong bootloader while developing this procedure. Luckily, my iPod was able to go into “Disk Mode” and I was able to reinstall the Apple OS by using the Apple’s iPod Software Updater app. So be careful and follow the directions carefully.
Nov 20th, 2005
Devin
Hey I tried all the steps and there were no errors (except a warning that some files had the wrong date) but when I boot up into ipl it flashes a long list of text on the screen and then stops at “mount_devfs_fs(); unable to mount devfs, err: -2 Freeing init memory: 64k Warning: unable to open an initial console. Kernel panic: No init found. Try passing init- option to kernel.” Any idea what that means?
Nov 26th, 2005
Devin
I just tried changing the directory where I copied the podzilla binary from sbin to bin and it works now.. weird?
Nov 26th, 2005
El Pollo Diablo
THX ! A very good tutorial !
Nov 27th, 2005
crazy al
does anyone know if line in recording on the 2g mini will ever be possible? or if it is, how? because according to the ipodlinux.org page it isn’t capable, but it would be great to be able to do that.
Nov 30th, 2005
David
Devin could you tell me how you did that again? I have the same problem. I have windows XP.
My email is borninda818@gmail.com
Dec 3rd, 2005
TweaK
Hey Reid,
I followed the steps for the Windows Installation but now when I boot my iPod Mini (2G) I keep getting the apple logo and when I (hard) reset it it just shows the apple logo again and it freezes on that.
Is my iPod bricked?
Thanks for your reply in advance.
Dec 12th, 2005
TweaK
Never mind, I’m such a moron
I went into Disk Mode and used the Apple restore utility.
Thanks anyway.
Dec 12th, 2005
Shino
hmm, everything works fine for me except i can’t switch to the apple OS by rebooting. It just boots linux no matter if I hold down Rewind or not. I can get into disk mode and eject it from the finder and get to the apple os that way but on booting it always gets into linux. I chose the apple os as default but that doesn’t seem to matter.
I use a 4 gb 2G mini. Apple FW 1.4 and Nightly linux kernel and podzilla from 2005-12-13
I think i’m going to restore the ipod if I don’t find a solution to this.
Dec 14th, 2005
Shino
Strange stuff… after a zillion reboots it seems to have fixed itself and boots as it should in the desired OS’s… I guess you need to expect unusual behavior with such unsupported procedures.
Dec 14th, 2005
hawk
hey reid,
i have a question for you. i only have a 2.0GB ipod nano and i’m using windows as my OS and i want to get ipod linux installed on my nano. can you help me out?
a lot of people say that you can’t get ipod linux on nano but i swa a video clip of an ipod nano playing idoom.. which means that it had to have had ipod linux.
jnrjules@yahoo.com
Dec 22nd, 2005
micheal kingston
i want to play idoom on windows xp, how the hell do u? please help me. my email is mkingst14@aim.com. thanks.
Jan 5th, 2006
baybled
hi shino i have the sameish problem as you did. it shows the apple logo when i reboot and if there’s any sensitivity to the wheel even if i scroll it goes linux but if i leave it alone it’s just the apple logo and that’s it. i tried draining the battery but no dice. when i got linux on it i replaced linux.bin with the nightly kernal from 2006-01-13 and i chose it to go to apple’s firmware on start up i also replced the start.bin file in the root of my ipod with the one in the installer (4g modded)
plz help me. all i need is a program to update linux or to remove linux. i tried disk mode but it said “ok to disconnect” with a big check sign on top of it.
Jan 15th, 2006
baybled
fixed by going into disk mode problem averted
Jan 15th, 2006
baybled
neva put ipod 1st in ya life try god
Jan 15th, 2006
berger
great guide… eventhough i’ve tryed this a billion times it keeps sayin’ “pz respawning too fast” and that text console….. I have a 2G ipod mini used USB and Mac OSX.
Jan 26th, 2006
Reid
berge: Have you tried a different podzilla/kernel combonation?
baybled: Amen.
micheal: I don’t understand your question…
hawk: I’m not too sure. Last I heard, iPL for the nano was experimental and the movie you saw was most likely an unstable dev version.
Feb 4th, 2006
Rik
You, sir, ROCK. 4GB Mini success.
Feb 5th, 2006
Chris
Thanks a ton!
This rocks hard
Mar 12th, 2006
Greg
im sorry, im not good at this kind of stuff, but could some1 make this a little simpler? i understand some of the stuff but im not great with macs. i dont know how to make a directory and terminal is almost impossible for me. SOMEBODY HELP ME!! ;(
Mar 28th, 2006
kamalneet
if any one wants to play OGG files on ipod mini 2g or mini 1g they can try rockbox at http://www.rockbox.org it is cool music player dedicated O.S. and installation file size is extremly small ,installation time is small too .
Apr 21st, 2006
kamalneet
ogg files can be played without skipping with 5 band equalizer on rockbox
Apr 21st, 2006
Reid
I’ve actually tried installing Rockbox a week or two ago on my video iPod, but I couldn’t make sense of the documentation. I probably should wait awhile longer given support for the iPod is new… and because of that such expected things like being able to read the iTunesDB doesn’t work yet. I can’t wait to see where the Rockbox project goes with the iPod… there is a lot of potential.
Jun 10th, 2006
Reply to “iPodLinux on 2G iPod Mini”