Difference between revisions of "Firmware"

From freemyipod.org
Jump to: navigation, search
(Nano 4g)
(Nano 4G)
 
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
This article is about the firmware itself. If you are trying to get a copy of the firmware files, please see [[Dumping firmware]] and [[Extracting firmware]]. NOTE: Please excuse the chaotic layout of this article. It is under construction. :-)
+
This article is about the different parts of the iPod's firmware. There is also a very basic analysis of the firmware headers. If you are trying to get a copy of the firmware files, please see [[Dumping firmware]] and [[Extracting firmware]]. NOTE: Please excuse the chaotic layout of this article. It is not very comprehensive, but it's still useful.
==osos==
+
==Nano 2G==
This is the main firmware partition of the iPod. This part has been encrypted ever since the iPod Nano 2G.
+
===osos===
 +
[[OSOS]] is the main firmware image of the iPod. This part has been encrypted ever since the iPod Nano 2G.
 
[[Image:IN2G firmware osos header.png|thumb|caption]]
 
[[Image:IN2G firmware osos header.png|thumb|caption]]
 
[[Image:Firmware layout.png|150px]]
 
[[Image:Firmware layout.png|150px]]
==aupd==
+
===aupd===
 
Here is a comparison between the different aupd partitions of firmware version in the iPod Nano 2G:
 
Here is a comparison between the different aupd partitions of firmware version in the iPod Nano 2G:
 
[[Image:IN2G firmware aupd header.png|thumb|caption]]
 
[[Image:IN2G firmware aupd header.png|thumb|caption]]
 
[[Image:IN2G cipher aupd diffs.png|500px]]
 
[[Image:IN2G cipher aupd diffs.png|500px]]
==rsrc==
+
===rsrc===
This is the filesystem of the iPod. It is unencrypted and of not much use to this project.
+
This is the resource filesystem of the iPod firmware. It is unencrypted and of not much use to this project.
==Nano 4g==
+
==Nano 3G==
The Nano 4g doesn't have the ''aupd'' partition. Instead, nine new partitions were added. We assume that these have the following functions, the question mark means that we are not completely sure:
+
The Nano 3G has the same ''osos'', ''aupd'', and ''rsrc'' sections as the Nano 2G, but it also has an added ''hash'' section. The ''hash'' section is populated with 0x1800 bytes of 0xFF.
 +
==Classic 1G (6G)==
 +
The Classic 1G has the same firmware structure as the Nano 3G. This makes sense because they were released at the same time.
  
* appl - bootlogo?
+
==Nano 4G==
* bdhw - bad hardware?
+
The Nano 4G kept the ''osos'' but all the old sections were removed. Instead, seven new sections were added:
* bdsw - bad software?
+
 
* chrg - sleep, but charging?
+
* Binaries
* diag - diag mode
+
** ''diag'' - Diagnostic mode. This depends on EFI modules being loaded so it can't be booted directly.
* disk - disk mode
+
** ''disk'' - Disk mode
* lbat - low battery logo?
+
* Bitmaps
* osos - apple firmware
+
** ''appl'' - Apple logo for booting
* rsrc - firmware resource filesystem (integrated games etc.), unencrypted fat16 filesystem
+
** ''bdhw'' - Bad hardware image
 +
** ''bdsw'' - Bad software image (Use iTunes to restore)
 +
** ''lbat'' - Low battery image
 +
** ''chrg'' - Same as lbat but showing that the iPod is charging
 +
 
 +
The Nano 4G firmware IPSW contains an additional bootloader file called ''N58s.bootloader.release.rb3'', which is not present in previous iPod Nano generations. These files can be decrypted by treating them as [[IMG1]] files.
 +
 
 +
Furthermore, two sets of special firmware also exist. ''x12250000_Recovery.ipsw'' is downloaded and the ''WTF.x1225.release.dfu'' is loaded when the iPod is found in DFU mode. Furthermore, another file exists in ''x12430000_Recovery.ipsw'', called ''FIRMWARE.x1243.release.dfu''.
 +
 
 +
==Nano 5G==
 +
The iPod Nano 5G has the same firmware above. However, the two special firmware files are ''x12310000_Recovery.ipsw'' (loaded in DFU mode) and ''x12460000_Recovery.ipsw''.
  
 
==Helpful pages==
 
==Helpful pages==

Latest revision as of 21:23, 12 October 2023

This article is about the different parts of the iPod's firmware. There is also a very basic analysis of the firmware headers. If you are trying to get a copy of the firmware files, please see Dumping firmware and Extracting firmware. NOTE: Please excuse the chaotic layout of this article. It is not very comprehensive, but it's still useful.

Nano 2G

osos

OSOS is the main firmware image of the iPod. This part has been encrypted ever since the iPod Nano 2G.

caption

Firmware layout.png

aupd

Here is a comparison between the different aupd partitions of firmware version in the iPod Nano 2G:

caption

IN2G cipher aupd diffs.png

rsrc

This is the resource filesystem of the iPod firmware. It is unencrypted and of not much use to this project.

Nano 3G

The Nano 3G has the same osos, aupd, and rsrc sections as the Nano 2G, but it also has an added hash section. The hash section is populated with 0x1800 bytes of 0xFF.

Classic 1G (6G)

The Classic 1G has the same firmware structure as the Nano 3G. This makes sense because they were released at the same time.

Nano 4G

The Nano 4G kept the osos but all the old sections were removed. Instead, seven new sections were added:

  • Binaries
    • diag - Diagnostic mode. This depends on EFI modules being loaded so it can't be booted directly.
    • disk - Disk mode
  • Bitmaps
    • appl - Apple logo for booting
    • bdhw - Bad hardware image
    • bdsw - Bad software image (Use iTunes to restore)
    • lbat - Low battery image
    • chrg - Same as lbat but showing that the iPod is charging

The Nano 4G firmware IPSW contains an additional bootloader file called N58s.bootloader.release.rb3, which is not present in previous iPod Nano generations. These files can be decrypted by treating them as IMG1 files.

Furthermore, two sets of special firmware also exist. x12250000_Recovery.ipsw is downloaded and the WTF.x1225.release.dfu is loaded when the iPod is found in DFU mode. Furthermore, another file exists in x12430000_Recovery.ipsw, called FIRMWARE.x1243.release.dfu.

Nano 5G

The iPod Nano 5G has the same firmware above. However, the two special firmware files are x12310000_Recovery.ipsw (loaded in DFU mode) and x12460000_Recovery.ipsw.

Helpful pages

http://home.gna.org/linux4nano/download/crypto_synth-1.0.pdf

http://www.ipodlinux.org/wiki/Firmware