Repair your iPod Mini using Linux

Aug 8
11:48

2007

Vladimir Mironov

Vladimir Mironov

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

This guide is a great walkthrough to fix a bricked iPod. By bricked, I mean beyond repairing with the windows iPod restore tool. Very easy to follow and a lifesaver. It says its for the mini, but it can be used to fix any type of iPod.

mediaimage

This process involves using a Linux Boot CD,Repair your iPod Mini using Linux Articles an iPod Mini (4GB), and a local Harddisk! It was tested with a friends nuked iPod Mini. You need to follow these instructions EXACTLY. If you are worried about erasing your own local PC Harddisk in the process, take it out and use another disk or use a test-PC you may have etc.. this process should only touch your local HD for READING, but if you make a typo you could accidently write the ipod firmware to your own local HD and that would render your PC USELESS! OK!? I also hope I wrote this up proper.. I've re-read it a few times! Also, I guess this process goes against your warranty or somein.

This process has been tested with: iPod Mini 4GB WINDOWS version using USB connection, Knoppix Live CD v3.4, Windows 2000 SP4, Pentium 3-500 PC.

NOTE! - This process has been tested using a USB connection, I have not seen the firewire connection and therefore most of this document would be irrelevant for that connection type!

NOTE! - The MAC iPod Mini is slightly different (disk structure is 3 partitions instead of 2), and since I haven't even seen a Mac iPod none of the below applies to a Mac iPod!

NOTE! - This process has been tested with a 4GB iPod Mini. Larger size Mini's should also work since we are not specifying a size for the 2nd partition, but that is untested OK!.

Have Fun!

Problem

iPod appears nuked, only shows folder icon and ! on its LCD and is unmountable under windows? (running iPod Updater just does nothing - does not even detect the device as an ipod!)

This is likely due to complete loss of Harddisk boot sector, structure and areas.

Basics

iPod structure: (WINDOWS iPod Mini version)

Hard Disk (4GB) -> Partition 1 = 32MB for Operating System -> Partition 2 = ~4GB (4161536MB?) for User Data (FAT32 file system)

Boot sequence: (?)

Arm ARM7TDMI CPU init -> Execute ROM init and code -> Boots HD Boot Sector -> Boots HD Partition 1 (Operating System, Arm code) -> System Up!

Requirements

- iPod Mini (tested : 4GB UK model) - iPod Updater software (tested : 2005-03-23) - Resource Hacker program (v3.4.0) - Knoppix Live CD Linux v3.4 or later (other Linux versions would abviously work, I guess you need kernel 2.4.x, dd, mkfs.x, fdisk etc) - .. adventurer's spirit hey!

The Process

Firstly, you need to extract the firmware binary file out of the iPod Updater program. Use Resource Hacker under Windows, open the iPod Updater exe file, open the FIRM folder. Now you need to open the IDR_FIRMWARE-3.2.5 folder, and then select the 1033 file. Now extract this resource as a binary file to somewhere on your local HD (eg: c:mini325.bin).

Shutdown windows.

Turn off PC.

Plug in your iPod Mini. (tested : USB connection)

Boot your PC from your Knoppix Linux Live CD.

Once Linux is up and booted, it should have mounted your local HD, probably as hda1. I would mount it manually anyway!

Open a Terminal session, get into root user with "su -", you should have: ~Knoppix[root]$: (or something like that).

Mount your local HD

Make a local mount point directory (where you will access your local HD) mkdir /mnt/localhd

Mount your local HD: (NTFS drives, windows xp, 2000 etc) mount -t ntfs /dev/hda1 /mnt/localhd

Mount your local HD: (FAT32 drives, windows 98, me) mount -t vfat /dev/hda1 /mnt/localhd

Do a directory listing to check contents of your local HD: cd /mnt/localhd ls -la

You should see "mini325.bin", your ipod mini firmware! (or the file you called it!)

Of course, if you stored the firmware on a slave HD, you need to mount that instead. In the end of the day you need access to the firmware binary file.

Prepare Your iPod Mini

Your iPod Mini should have attached as a fake scsi device /dev/sda.

To check this, "more /dev/sda" should show it is there. (Ctrl+C to quit moreing)

Now we need to prepare the disk stucture on the iPod:

fdisk /dev/sda

Use "p" to print out the current disk structure, it should be blank! no partitions! (if there are partitions then you are in unchartered terriroty and perhaps should delete them all - untested!)

Now we need to make two new partitions, one for the boot area, one for the user data.

Follow exactly: { explanations are in curly brackets, do not type these }

{ setup first partition, 32 MB in size } n p 1 +32M

{ setup second partition, the rest of the hard disk } n p 2

{ change type of partition 1 to 0, no format } t 1 0

{ change type of partition 2 to b, ie: FAT32 } t 2 b

{ show partition layout, should be two partitions now } p

{ write partition layout to the iPod } w

{ quit fdisk back to command prompt once complete } q

You should now be back to the good ol' ~Knoppix[root]$: prompt. (or similar!)

Format Partition 2

From the command prompt:

mkfs.vfat -F 32 -n "name" /dev/sda2

This will format the 2nd partition of the iPod, and give it a volume name "name".

After this you are returned to the command prompt ~Knoppix[root]$: etc.

Write Firmware to Partition 1

From the command prompt:

dd if=/mnt/localhd/mini325.bin of=/dev/sda1

This will write the input file mini325.bin from your localhd mount to the 1st partition of the ipod mini (the partition for the operating system).

This may take a few moments, you will be returned to the command prompt when complete!

Mount your iPod under Linux

Out of curiosity, mount the 2nd partition of your iPod to check it is ok!

mkdir /mnt/myipod mount -t vfat /dev/sda2 /mnt/myipod cd /mnt/myipod ls -la

There should be no files, but it should mount ok like any other fat32 disk!

Shutdown Linux and turn off your PC!

Unplug your iPod Mini from your PC.

Switch the iPod on, it should require you to plug into your mains power supply!

Plug in power, switch power on, iPod will boot up like any other booting computer, complete with loading progress bar and screen refresh . After this, you should be able to select language and use your iPod again!

Next up - ditch i-tunes because it is a bit of a demon and use Anapod or Gnupod or something and enjoy your iPod as you should! Freee...

Thank heavens for Linux eh!! and thank heavens for people trying to stick linux their pods, reading up on that is where I figured all this stuff out.

Forgotten Credits - these guys did all the hard work - Alan Donovan, Pedro Diaz. Without them this would not have been so easy!

Thats all folks..! iPodFixed