Difference between revisions of "IPSW File Format"

From The iPhone Wiki
Jump to: navigation, search
(New page: IPSW (guess '''I'''phone/ '''I'''pod '''S'''oft'''W'''are) Files have the Magic Number 504B0304 (PK\003\004) and thus are [http://en.wikipedia.org/wiki/ZIP_%28file_format%29 ZIP] Archives....)
 
m (Updating)
(38 intermediate revisions by 16 users not shown)
Line 1: Line 1:
  +
{{redirect|IPSW|the component of XPwn|ipsw}}
IPSW (guess '''I'''phone/ '''I'''pod '''S'''oft'''W'''are) Files have the Magic Number 504B0304 (PK\003\004) and thus are [http://en.wikipedia.org/wiki/ZIP_%28file_format%29 ZIP] Archives. They can be modified with typical zip/unzip tools (i.e. change extension to .zip and double click). An IPSW File is used to deliver the iPod Touch / iPhone [[firmware]] to the end-user.
 
  +
{{see also|Disk Image Formats}}
  +
'''IPSW''' ('''iP'''od<sup>[[#Notes|[1]<nowiki/>]]</sup> '''S'''oft'''w'''are) files have the Magic Number 504B0304 (PK\003\004) and thus are [[wikipedia:ZIP (file format)|ZIP]] archives. They can be modified with typical zip/unzip tools (i.e. change extension to .zip and double click). IPSWs are used to deliver the [[iDevice|device's]] firmware to the end-user.
   
== IPSW Contents ==
+
== Archive Structure ==
  +
* [[Restore Ramdisk]]
  +
* [[Update Ramdisk]] (some firmwares don't have one due to various reasons)
  +
* [[:/|Filesystem Ramdisk]] (the largest [[Apple Disk Image|.dmg]] file)
  +
* [[Device Tree]] (model specific)
  +
* [[Kernelcache]] (model specific; processor specific on pre-[[S5L8930|A4]])
  +
* BuildManifest.plist (first appeared in [[iOS|iPhone OS]] 3.0 beta 2)
  +
* Restore.plist
  +
* ''Firmware/''
  +
** ''all_flash/''
  +
*** ''all_flash.XXXXX.production/'' (model specific i.e. [[M68AP]], [[N82AP]], etc.)
  +
**** [[S5L File Formats#IMG2|IMG2]]/[[IMG3 File Format|IMG3]] files
  +
**** manifest
  +
** dfu/''
  +
*** [[iBEC]].XXXXX.dfu (model specific i.e. [[M68AP]], [[N82AP]], etc.)
  +
*** [[iBSS]].XXXXX.dfu
  +
*** [[WTF]].XXXXX.dfu (model specific and only for [[M68AP]], [[N82AP]], [[N45AP]], [[N72AP]]; not present in firmwares for the [[N88AP|iPhone 3GS]] and later, because it was used to patch issues with the DFU mode that was burned into the bootrom)
  +
** [[Baseband Device|Baseband]] (may be one or many files depending on the model)
   
=== root folder ===
+
=== Example ===
  +
Here are the contents of the [[Kirkwood 7A341 (iPhone2,1)|iPhone 3GS 3.0 (7A341)]] firmware IPSW:
*[[Restore Ramdisk]]
 
  +
* <code>[[:/|018-5302-002.dmg]]</code> (281214976 bytes)
*[[Update Ramdisk]] (Firmware 1.0 didn't contain an Update Ramdisk as there is no official firmware to update from)
 
  +
* <code>[[Update Ramdisk|018-5304-002.dmg]]</code> (12769604 bytes)
*[[Disk Image Formats|Filesystem Ramdisk]] (the largest .dmg file)
 
  +
* <code>[[Restore Ramdisk|018-5306-002.dmg]]</code> (12777796 bytes)
*kernelcache.release.XXX file (hardware specific)
 
  +
* <code>[[kernelcache]].release.s5l8920x</code> (4695492 bytes)
*Restore.plist file
 
*BuildManifest.plist (first appeared in firmware 3.0, I guess)
+
* <code><!--[[#BuildManifest.plist|-->BuildManifest.plist<!--]]--></code> (21097 bytes)
  +
* <code><!--[[#Restore.plist|-->Restore.plist<!--]]--></code> (1763 bytes)
  +
* ''<code>Firmware/</code>''
  +
** ''<code>all_flash/</code>''
  +
*** ''<code>all_flash.n88ap.production/</code>''
  +
**** <code>[[AppleLogo|applelogo]].s5l8920x.img3</code> (9604 bytes)
  +
**** <code>[[BatteryCharging0|batterycharging0]].s5l8920x.img3</code> (19716 bytes)
  +
**** <code>[[BatteryCharging1|batterycharging1]].s5l8920x.img3</code> (24900 bytes)
  +
**** <code>[[BatteryFull|batteryfull]].s5l8920x.img3</code> (76100 bytes)
  +
**** <code>[[BatteryLow0|batterylow0]].s5l8920x.img3</code> (56772 bytes)
  +
**** <code>[[BatteryLow1|batterylow1]].s5l8920x.img3</code> (65348 bytes)
  +
**** <code>[[DeviceTree]].n88ap.img3</code> (44996 bytes)
  +
**** <code>[[GlyphCharging|glyphcharging]].s5l8920x.img3</code> (20356 bytes)
  +
**** <code>[[GlyphPlugin|glyphplugin]].s5l8920x.img3</code> (19332 bytes)
  +
**** <code>[[iBoot (Bootloader)|iBoot]].n88ap.RELEASE.img3</code> (178500 bytes)
  +
**** <code>[[LLB]].n88ap.RELEASE.img3</code> (67908 bytes)
  +
**** <code>manifest</code> (341 bytes)
  +
**** <code>[[NeedService|needservice]].s5l8920x.img3</code> (20484 bytes)
  +
**** <code>[[RecoveryMode|recoverymode]].s5l8920x.img3</code> (47876 bytes)
  +
** ''<code>dfu/</code>''
  +
*** <code>[[iBEC]].n88ap.RELEASE.dfu</code> (104772 bytes)
  +
*** <code>[[iBSS]].n88ap.RELEASE.dfu</code> (104772 bytes)
   
  +
== Notes ==
*\Firmware (Folder)
 
  +
# IPSW files have been used since the very first iPod, though they have [http://www.freemyipod.org/wiki/Firmware a different format] than firmwares for iOS devices.
   
  +
[[Category:File Formats]]
=== Firmware Folder ===
 
*\all_flash\all_flash.XXXXXX.production (Folder)
 
*\DFU (Folder)
 
 
=== all_flash.XXXXXX.production Folder ===
 
*img2/img3 files
 
*manifest
 
 
=== DFU Folder ===
 
*iBEC.XXX.DFU
 
*iBSS.XXX.DFU
 
*WTF.XXX.DFU (disappeared in 3.0, I guess)
 

Revision as of 11:07, 11 October 2015

"IPSW" redirects here. For the component of XPwn, see ipsw.

IPSW (iPod[1] Software) files have the Magic Number 504B0304 (PK\003\004) and thus are ZIP archives. They can be modified with typical zip/unzip tools (i.e. change extension to .zip and double click). IPSWs are used to deliver the device's firmware to the end-user.

Archive Structure

Example

Here are the contents of the iPhone 3GS 3.0 (7A341) firmware IPSW:

Notes

  1. IPSW files have been used since the very first iPod, though they have a different format than firmwares for iOS devices.