HomePage
WikiBlog
RecentChanges
LikePages
BackLinks
FindPage

Blog entries

2010-02-16: RSS-Feeds für ricardo.ch-Suchergebnisse

2010-02-15_spam: Disabling public editing

2010-02-15: Show Processes waiting for I/O in Linux

2010-02-13: Sony Vaio P in der Schweiz...

2009-06-17: Wie man plötzlich zum Mörder wird (weil's einfach besser 'rüberkommt!)

2008-05-18: Recreating SSL keys for stunnel, lighttpd and dovecot following the Debian-OpenSSL debacle

2008-02-12: Patch for aoeserver in Kernel 2.6.24

2008-02-07: Usage of open-iscsi on Linux

2008-02-05: Linux and Windows working in harmony with iSCSI

2008-01-19: Linksys PAP2 FXS Port Impedance

< July, 2010 >
Sun Mon Tue Wed Thu Fri Sat
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Update Ipod Firmware On Linux

How to use ResHacker to extract the iPod firmwares

News as of 2004-08-24: Apparently, all data in the iPod Updater 2004-04-28.exe file is saved as resources. There is a tool called Resource Hacker that is able to extract information stored in this format.

You can run it on Linux with Wine:

wine ResHacker.exe

Once it's running, open iPod Updater 2004-04-28.exe with it. I had to manually enter the filename, as the file was never displayed in the file selector.

Now open the sub-structure called FIRM (where the three different firmwares are stored) and select the correct one for your iPod hardware. Select Action => Save Resource as binary file:

http://variant.ch/images/reshacker_screenshot.png

Now you can use the resulting file to flash your iPod like described below on this page.

Credits: Thanks to Samuel Wood sam dot wood at gmail dot com

Warning and Disclaimer

This article was written when the most recent firmware version was 2.1. As version 2.2 appeared 2004-04-28, there are three different firmware images in the iPod Updater 2004-04-28.exe file. Up to now, there is no information available which iPod has to be flashed with which firmware. And according to ipodhacks.com there are reports of update problems (which surface even without hacking things like this tutorial does). So DON'T use this tutorial with version 2.2!

The information and descriptions on this page are without any warranty. They may trun your beloved iPod into a pile of shit.

Prerequisites

  • You need an 3rd generation iPod (after mid-2003).
  • You need as well access to a recent Windows 2000 machine with Service Pack 4 or Windows XP. This machine does not need to have a firewire card, ie. doesn't need being able to connect to your iPod.
  • I assume that you have your firmware on the first partition (/dev/sda1, 32mb are thought to be just right) of the iPod, while the second partition (/dev/sda2) holds all your music files. This order is important, as you will need to know where the current firmware is saved (to make a backup) and to update it (overwrite with a new version).

Make a backup!

Connect your iPod to your Firewire card and make sure it is recognised as SCSI device. No need to load the sbp2 module or mount any partitions.

Run dd to backup the current firmware of your iPod:

dd if=/dev/sda1 of=ipod_firmware_backup

Save ipod_firmware_backup now somewhere safe!

Get the update from Apple

  • Download the Windows version of the update from here (at time of writing it was update 2.1): http://www.apple.com/ipod/download/
  • Install the setup.exe on a Windows 2000 or XP machine
  • Go to the location where it was installed to, copy Updater.exe to your Linux box

Extract Firmware from Updater.exe

  • Fire up a hex-editor (like khexedit)
  • An iPod firmware starts like this:
dionysos@giant:~$ hexdump -C backup_ipod  | head
00000000  7b 7b 7e 7e 20 20 2f 2d  2d 2d 2d 2d 5c 20 20 20  |{{~~  /-----\   |
00000010  7b 7b 7e 7e 20 2f 20 20  20 20 20 20 20 5c 20 20  |{{~~ /       \  |
00000020  7b 7b 7e 7e 7c 20 20 20  20 20 20 20 20 20 7c 20  |{{~~|         | |
00000030  7b 7b 7e 7e 7c 20 53 20  54 20 4f 20 50 20 7c 20  |{{~~| S T O P | |
00000040  7b 7b 7e 7e 7c 20 20 20  20 20 20 20 20 20 7c 20  |{{~~|         | |
00000050  7b 7b 7e 7e 20 5c 20 20  20 20 20 20 20 2f 20 20  |{{~~ \       /  |
00000060  7b 7b 7e 7e 20 20 5c 2d  2d 2d 2d 2d 2f 20 20 20  |{{~~  \-----/   |
00000070  43 6f 70 79 72 69 67 68  74 28 43 29 20 32 30 30  |Copyright(C) 200|
00000080  31 20 41 70 70 6c 65 20  43 6f 6d 70 75 74 65 72  |1 Apple Computer|
00000090  2c 20 49 6e 63 2e 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |, Inc.----------|
  • Open Updater.exe with your preferred hex-editor and search for this header, e.g. look for "Copyright". Then delete everything from position 0 (beginning of the file) up to the first, but not including { (opening curly brace), so that your file starts like the header shown above.
  • Save the modified file as Modified_Updater.exe . That's it.

Update the firmware

  • Make sure your iPod is fully charged.
  • Connect your iPod to the computer, make sure it is detected as SCSI device
  • Write the new firmware over the old one:
dd if=Modified_Updater.exe of=/dev/sda1
  • When finished, disconnect the iPod, branch it to the A/C adaptor or a bus-powering firewire card (laptop/notebook cards won't work as they are not bus-powering).
  • It reboots, displays a nice, half-eaten-apple logo, then a progess bar and after some time, it finally starts into your new firmware.
  • Done! If you found any errors in this description, please contact me (nicola.fankhauser@variant).

Last edited on 4.10.2004 16:19.


View Source | PageHistory | Diff | PageInfo

© Copyright 2004 - 2006 Nicola Fankhauser. All Rights Reserved.