Updater

From iPodLinux

Jump to: navigation, search

The Apple iPod Updater is Apple's tool for updating their iPod firmware. It can also be used to restore iPods (i.e. repartition, format, upload firmware). It works with all generations of iPod. This document covers a brief overview of the firmware, the update process, and how to update without needing to run the updater software itself (i.e. from Linux). It applies to hard drive based iPods only (including the iPod Nano).


Contents

Firmware

The Apple Firmware is composed of two main parts - the bootstrapper, diagnostics and disk mode all reside within the Flash ROM. When the iPod turns on, it first shows the Apple logo. That's when it runs the bootstrapping code from the Flash ROM. This then loads the software on the first partition of the hard drive. This partition is what we call the firmware partition. It contains the software that Apple more frequently updates and which contains the program that we usually use the iPod under (with its interface, music decoders, accessory support etc).

Updating

Only the hard drive is accessible from the host computer when the iPod is plugged in, so there is no direct access to the Flash ROM. The process the updater goes through is something like this:

  1. Check that the iPod is mountable/accessible
  2. Read the iPod's SysInfo file (generated by the Apple firmware) to determine Generation, current software revision, serial number and so forth. On newer iPods the SysInfo file is blank, and the SysInfo is obtained by performing a SCSI query on the device.
  3. Copy a Firmware Image file into the first partition. Such an image contains both a Flash ROM updater and the "normal" software for the iPod.
  4. Unmount and eject the iPod.
  5. The iPod now automatically reboots because its firmware partition has been modified.
  6. At this point the iPod's bootstrap code detects that a fresh Flash ROM updater has been installed as the "aupd" file on the firmware partition. It loads and executes it.
  7. If the iPod has been detached from external power, it might now request power with a power socket icon. Plug it into the wall or into the computer.
  8. Flash ROM gets updated with the data from inside the "aupd" file. When this is happening you'll see a progress bar beneath the Apple logo.
  9. When finished, it reboots again, now running the newly flashed bootstrapping code, then continues to load the "osos" software from the first partition on the hard drive.
  10. This concludes the software update process.

Firmware Images

The Firmware Images that contain both Flash and HD code are included as individual files with the updater. The updater can be downloaded from Apple. On OS X, they're located inside the application package:

$ cd /Applications/Utilities/iPod\ Software\ Updater.localized/
$ ls
iPod Updater 2004-08-06.app     iPod Updater 2005-02-22.app     iPod Updater 2005-06-26.app
iPod Updater 2004-11-15.app     iPod Updater 2005-03-23.app
$ ls iPod\ Updater\ 2005-06-26.app/Contents/Resources/Updates/Firmware-*
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-1.1.5
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-10.3.1
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-11.4.2
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-128.1.1
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-2.2.3
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-3.2.6
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-4.3.1
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-5.4.2
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-6.2.6
iPod Updater 2005-06-26.app/Contents/Resources/Updates/Firmware-7.2.6

Windows users can use the Resource Hacker or IpodWizard to extract these files from the Windows version of the updater, whereas Un*x and other OS' users can extract the files from the OS X version of the updater with the procedure described in the GNUpod manual.

For a list of firmware images and how they relate to various models, see Firmware.

Updating the firmware manually

This applies under Linux and Mac OS X. First find the device node of the first partition of the iPod. Under Linux, with no other Generic SCSI devices, this is /dev/sda1. For OS X, it will be /dev/diskXs2 with X replaced by the disk number (use the mount command to find it). Then use the dd command to copy the Firmware file to the partition. E.g. upgrading a Photo to 1.2 under Linux over USB2:

$ dd if=Firmware-5.4.2 of=/dev/sda1
12719+1 records in
12719+1 records out

Then eject your iPod. The iPod should reset (if not, unplug it shortly), update its Flash ROM, finally reset again, as described above. Note that this will wipe out the iPL Bootloader and Linux kernel - the fastest way to get back to iPodLinux afterwards would be to reinstall Loader 2 and place the Kernel onto the disk as a file.

Older Apple Updaters

If you want to have an older version of the Firmware on your iPod, you can get older Apple Updaters from here.