How to restore an iPod
These instructions have been tested on Linux. BSD users may find them useful, just change the device names.
- Download the MBR for your iPod model from the IpodConversionToFAT32 page.
- Put the the MBR onto the iPod:
dd if=mbr-xxxx.bin of=/dev/sdX
- Make Linux reread the MBR:
hdparm -z /dev/sdX
- Download the .ipsw file for your iPod model from http://www.felixbruns.de/iPod/firmware/.
- The .ipsw file you just downloaded is actually a ZIP file - unzip it and you should see a file named Firmware-X.Y.Z (where X, Y and Z are numbers).
- Put the the Firmware-X.Y.Z file to the first partition on your iPod:
dd if=Firmware-X.Y.Z of=/dev/sdX1
- Format the second partition with FAT32. Make sure it's FAT32, not FAT16 - Rockbox only supports FAT32 on the iPods.
- After putting Firmware-X.Y.Z on the iPod, when you first reboot your iPod it will update the contents of its flash ROM. Follow the instructions on your iPod's screen (to insert the charger) and DO NOT interrupt this process. If you interrupt it, then there is a very good chance that your iPod will be unusable.
- For 5.5th Generation iPod users: using mkfs.vfat often seems to work, but it creates FAT filesystems that the rockbox code doesn't always handle properly, resulting in non-booting ipods
- The 5.5th Generation iPod actually has a normal 512-byte sectors disk for the 30GB model and a 1024-byte sectors disk for the 80GB model. The 2048-byte sectors mentioned above is the sector size reported by the USB interface. Since it is exported as 2048-byte sectors, if we format the partition with 512-byte sectors the OF might be able to access it just fine but Linux would not be able to mount the filesystem.
- If on a 5.5th Generation iPod you ever formatted a filesystem with 512 byte sectors and then used USB from within rockbox, rockbox will expose 512 byte sectors over USB, which is not compatible with the emergency disk mode or the original firmware. If you then manipulate the partition table or reformat the filesystem, you will end up in a rather confused and unusual situation. If this happens, the best way to get back to a normal situation would be to zero out the first part of the disk, (
dd if=/dev/zero of=/dev/sdX bs=1024K count=1024 to zero out the first gigabyte) and start over.
[to be expanded...]
Copyright © by the contributing authors.