The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "IPSW File Format"
(→Firmware Folder) |
m (a bit of a rewrite) |
||
Line 1: | Line 1: | ||
− | '''IPSW''' ('''iP'''od¹ '''S'''oft'''W'''are) Files have the Magic Number 504B0304 (PK\003\004) and thus are |
+ | '''IPSW''' ('''iP'''od¹ '''S'''oft'''W'''are) Files have the Magic Number 504B0304 (PK\003\004) and thus are {{wp|ZIP (file_format)|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]]/[[iPad]]/[[Apple TV]] [[firmware]] to the end-user. |
+ | |||
+ | <sup>1</sup>The IPSW files are used starting from the iPod 1G, even though they have [http://www.freemyipod.org/wiki/Firmware a different format than] iOS-based devices. |
||
− | ¹The IPSW files are used starting from the iPod 1G, even though they have [http://www.freemyipod.org/wiki/Firmware a different format than] iOS-based devices. |
||
== IPSW Contents == |
== IPSW Contents == |
||
+ | * [[Restore Ramdisk]] |
||
− | |||
+ | * [[Update Ramdisk]] (Firmware 1.0 didn't contain an Update Ramdisk as there is no official firmware to update from) |
||
− | === root folder === |
||
+ | * [[Disk Image Formats|Filesystem Ramdisk]] (the largest .dmg file) |
||
− | *[[Restore Ramdisk]] |
||
+ | * [[Kernelcache|kernelcache.release.XXXXXXX file]] (application processor specific i.e [[S5L8900]], [[S5L8920]], [[S5L8720]], [[S5L8922]], [[S5L8930]], [[S5L8940]]) |
||
− | *[[Update Ramdisk]] (Firmware 1.0 didn't contain an Update Ramdisk as there is no official firmware to update from) |
||
+ | * BuildManifest.plist (first appeared in firmware 3.0?) |
||
− | *[[Disk Image Formats|Filesystem Ramdisk]] (the largest .dmg file) |
||
+ | * Restore.plist file |
||
− | *[[Kernelcache|kernelcache.release.XXXXXXX file]] (application processor specific i.e [[S5L8900]], [[S5L8920]], [[S5L8720]], [[S5L8922]], [[S5L8930]]) |
||
+ | * ''Firmware\'' |
||
− | *BuildManifest.plist (first appeared in firmware 3.0, I guess) |
||
+ | ** ''all_flash\'' |
||
− | *Restore.plist file |
||
+ | *** ''all_flash.XXXXX.production\'' (hardware specific i.e. [[M68ap]], [[N82ap]], etc.) |
||
− | |||
+ | **** [[S5L File Formats#IMG2|IMG2]]/[[IMG3 File Format|IMG3]] files |
||
− | *\Firmware (Folder) |
||
+ | **** manifest |
||
− | |||
− | + | ** \dfu (Folder) |
|
− | * |
+ | *** [[iBEC]].XXXXX.DFU (hardware specific i.e. [[M68ap]], [[N82ap]], etc.) |
+ | *** [[iBSS]].XXXXX.DFU (hardware specific i.e. [[M68ap]], [[N82ap]], etc.) |
||
− | *\dfu (Folder) |
||
+ | *** [[WTF]].XXXXX.DFU (hardware specific i.e. [[M68ap]], [[N82ap]], [[N45ap]], [[N72ap]] - currently not present in firmwares for the [[N88ap|iPhone 3GS]] and later, because it is mostly used to patch issues with the DFU mode that was burned into the bootrom) |
||
− | *ICE3_XX.XX.XX_BOOT_02.06.Release.bbfw (Contains the baseband and the bootloader. X stands for a number. This is the baseband version. 02.06 is the bootloader. Only in the iPhone 4 firmware.) |
||
+ | ** ICE3_XX.XX.XX_BOOT_02.06.Release.bbfw (Contains the baseband and the bootloader. X stands for a number. This is the baseband version. 02.06 is the bootloader. Only in the iPhone 4 firmware.) |
||
− | |||
− | === all_flash.XXXXX.production Folder === |
||
− | *[[S5L File Formats#IMG2|IMG2]]/[[IMG3 File Format|IMG3]] files |
||
− | *manifest |
||
− | |||
− | === dfu Folder === |
||
− | *[[iBEC]].XXXXX.DFU (hardware specific i.e. [[M68ap]], [[N82ap]], [[N88ap]], [[N45ap]], [[N72ap]], [[N18ap]], [[K48ap]]) |
||
− | *[[iBSS]].XXXXX.DFU (hardware specific i.e. [[M68ap]], [[N82ap]], [[N88ap]], [[N45ap]], [[N72ap]], [[N18ap]], [[K48ap]]) |
||
− | *[[WTF]].XXXXX.DFU (hardware specific i.e. [[M68ap]], [[N82ap]], [[N45ap]], [[N72ap]] - currently not present in firmwares for the [[N88ap|iPhone 3GS]] and later, because it is mostly used to patch issues with the DFU mode that was burned into the bootrom) |
||
== Example == |
== Example == |
||
This is a ls -alR of an extracted iPhone 3GS 3.0 Firmware IPSW. |
This is a ls -alR of an extracted iPhone 3GS 3.0 Firmware IPSW. |
||
+ | total 608400 |
||
− | |||
+ | drwx------@ 11 m staff 374 17 Jun 07:11 . |
||
− | <pre>total 608400 |
||
− | + | drwxrwxrwx 5 m staff 170 18 Jul 07:34 .. |
|
+ | -rw-r--r--@ 1 m admin 281214976 22 Mai 17:10 018-5302-002.dmg |
||
− | drwxrwxrwx 5 m staff 170 18 Jul 07:34 .. |
||
− | -rw-r--r--@ 1 m admin |
+ | -rw-r--r--@ 1 m admin 12777796 22 Mai 16:59 018-5306-002.dmg |
− | -rw-r--r-- |
+ | -rw-r--r-- 1 m admin 21097 22 Mai 17:29 BuildManifest.plist |
− | - |
+ | drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 Firmware |
− | + | -rw-r--r-- 1 m admin 1763 22 Mai 17:10 Restore.plist |
|
− | -rw-r--r-- |
+ | -rw-r--r--@ 1 m staff 4695492 22 Mai 14:32 kernelcache.release.s5l8920x |
+ | |||
− | -rw-r--r--@ 1 m staff 4695492 22 Mai 14:32 kernelcache.release.s5l8920x |
||
+ | ./Firmware: |
||
− | |||
+ | total 16 |
||
− | ./Firmware: |
||
+ | drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 . |
||
− | total 16 |
||
+ | |||
− | drwxr-xr-x@ 4 m staff 136 22 Mai 13:39 dfu |
||
+ | ./Firmware/all_flash: |
||
− | |||
+ | total 16 |
||
− | ./Firmware/all_flash: |
||
+ | drwxr-xr-x@ 4 m staff 136 18 Jun 02:10 . |
||
− | total 16 |
||
+ | |||
− | drwxr-xr-x@ 16 m staff 544 22 Mai 13:43 all_flash.n88ap.production |
||
+ | ./Firmware/all_flash/all_flash.n88ap.production: |
||
− | |||
+ | total 1320 |
||
− | ./Firmware/all_flash/all_flash.n88ap.production: |
||
+ | drwxr-xr-x@ 16 m staff 544 22 Mai 13:43 . |
||
− | total 1320 |
||
− | drwxr-xr-x@ |
+ | drwxr-xr-x@ 4 m staff 136 18 Jun 02:10 .. |
− | + | -rw-r--r--@ 1 m staff 44996 22 Mai 13:08 DeviceTree.n88ap.img3 |
|
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 67908 22 Mai 13:12 LLB.n88ap.RELEASE.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 9604 22 Mai 13:15 applelogo.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 19716 22 Mai 13:15 batterycharging0.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 24900 22 Mai 13:16 batterycharging1.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 76100 22 Mai 13:16 batteryfull.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 56772 22 Mai 13:16 batterylow0.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 65348 22 Mai 13:17 batterylow1.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 20356 22 Mai 13:17 glyphcharging.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 19332 22 Mai 13:18 glyphplugin.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 178500 22 Mai 13:21 iBoot.n88ap.RELEASE.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 341 22 Mai 13:43 manifest |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 20484 22 Mai 13:24 needservice.s5l8920x.img3 |
− | -rw-r--r--@ 1 m staff |
+ | -rw-r--r--@ 1 m staff 47876 22 Mai 13:24 recoverymode.s5l8920x.img3 |
+ | |||
− | -rw-r--r--@ 1 m staff 47876 22 Mai 13:24 recoverymode.s5l8920x.img3 |
||
+ | ./Firmware/dfu: |
||
− | |||
+ | total 416 |
||
− | ./Firmware/dfu: |
||
+ | drwxr-xr-x@ 4 m staff 136 22 Mai 13:39 . |
||
− | total 416 |
||
− | -rw-r--r--@ 1 m admin |
+ | -rw-r--r--@ 1 m admin 12769604 22 Mai 16:59 018-5304-002.dmg |
− | + | drwx------@ 11 m staff 374 17 Jun 07:11 .. |
|
− | + | drwxr-xr-x@ 4 m staff 136 18 Jun 02:10 all_flash |
|
− | drwxr-xr-x@ 4 m staff 136 |
+ | drwxr-xr-x@ 4 m staff 136 22 Mai 13:39 dfu |
− | drwxr-xr-x@ |
+ | drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 .. |
− | drwxr-xr-x@ |
+ | drwxr-xr-x@ 16 m staff 544 22 Mai 13:43 all_flash.n88ap.production |
− | drwxr-xr-x@ |
+ | drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 .. |
− | + | -rw-r--r--@ 1 m staff 104772 22 Mai 13:30 [[iBEC]].n88ap.RELEASE.dfu |
|
− | -rw-r--r--@ 1 m staff 104772 22 Mai 13: |
+ | -rw-r--r--@ 1 m staff 104772 22 Mai 13:36 [[iBSS]].n88ap.RELEASE.dfu |
− | -rw-r--r--@ 1 m staff 104772 22 Mai 13:36 iBSS.n88ap.RELEASE.dfu |
||
− | </pre> |
Revision as of 03:17, 27 October 2011
IPSW (iPod¹ SoftWare) Files have the Magic Number 504B0304 (PK\003\004) and thus are Template:Wp 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/iPad/Apple TV firmware to the end-user.
1The IPSW files are used starting from the iPod 1G, even though they have a different format than iOS-based devices.
IPSW Contents
- Restore Ramdisk
- Update Ramdisk (Firmware 1.0 didn't contain an Update Ramdisk as there is no official firmware to update from)
- Filesystem Ramdisk (the largest .dmg file)
- kernelcache.release.XXXXXXX file (application processor specific i.e S5L8900, S5L8920, S5L8720, S5L8922, S5L8930, S5L8940)
- BuildManifest.plist (first appeared in firmware 3.0?)
- Restore.plist file
- Firmware\
- all_flash\
- \dfu (Folder)
- iBEC.XXXXX.DFU (hardware specific i.e. M68ap, N82ap, etc.)
- iBSS.XXXXX.DFU (hardware specific i.e. M68ap, N82ap, etc.)
- WTF.XXXXX.DFU (hardware specific i.e. M68ap, N82ap, N45ap, N72ap - currently not present in firmwares for the iPhone 3GS and later, because it is mostly used to patch issues with the DFU mode that was burned into the bootrom)
- ICE3_XX.XX.XX_BOOT_02.06.Release.bbfw (Contains the baseband and the bootloader. X stands for a number. This is the baseband version. 02.06 is the bootloader. Only in the iPhone 4 firmware.)
Example
This is a ls -alR of an extracted iPhone 3GS 3.0 Firmware IPSW.
total 608400 drwx------@ 11 m staff 374 17 Jun 07:11 . drwxrwxrwx 5 m staff 170 18 Jul 07:34 .. -rw-r--r--@ 1 m admin 281214976 22 Mai 17:10 018-5302-002.dmg -rw-r--r--@ 1 m admin 12769604 22 Mai 16:59 018-5304-002.dmg -rw-r--r--@ 1 m admin 12777796 22 Mai 16:59 018-5306-002.dmg -rw-r--r-- 1 m admin 21097 22 Mai 17:29 BuildManifest.plist drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 Firmware -rw-r--r-- 1 m admin 1763 22 Mai 17:10 Restore.plist -rw-r--r--@ 1 m staff 4695492 22 Mai 14:32 kernelcache.release.s5l8920x ./Firmware: total 16 drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 . drwx------@ 11 m staff 374 17 Jun 07:11 .. drwxr-xr-x@ 4 m staff 136 18 Jun 02:10 all_flash drwxr-xr-x@ 4 m staff 136 22 Mai 13:39 dfu ./Firmware/all_flash: total 16 drwxr-xr-x@ 4 m staff 136 18 Jun 02:10 . drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 .. drwxr-xr-x@ 16 m staff 544 22 Mai 13:43 all_flash.n88ap.production ./Firmware/all_flash/all_flash.n88ap.production: total 1320 drwxr-xr-x@ 16 m staff 544 22 Mai 13:43 . drwxr-xr-x@ 4 m staff 136 18 Jun 02:10 .. -rw-r--r--@ 1 m staff 44996 22 Mai 13:08 DeviceTree.n88ap.img3 -rw-r--r--@ 1 m staff 67908 22 Mai 13:12 LLB.n88ap.RELEASE.img3 -rw-r--r--@ 1 m staff 9604 22 Mai 13:15 applelogo.s5l8920x.img3 -rw-r--r--@ 1 m staff 19716 22 Mai 13:15 batterycharging0.s5l8920x.img3 -rw-r--r--@ 1 m staff 24900 22 Mai 13:16 batterycharging1.s5l8920x.img3 -rw-r--r--@ 1 m staff 76100 22 Mai 13:16 batteryfull.s5l8920x.img3 -rw-r--r--@ 1 m staff 56772 22 Mai 13:16 batterylow0.s5l8920x.img3 -rw-r--r--@ 1 m staff 65348 22 Mai 13:17 batterylow1.s5l8920x.img3 -rw-r--r--@ 1 m staff 20356 22 Mai 13:17 glyphcharging.s5l8920x.img3 -rw-r--r--@ 1 m staff 19332 22 Mai 13:18 glyphplugin.s5l8920x.img3 -rw-r--r--@ 1 m staff 178500 22 Mai 13:21 iBoot.n88ap.RELEASE.img3 -rw-r--r--@ 1 m staff 341 22 Mai 13:43 manifest -rw-r--r--@ 1 m staff 20484 22 Mai 13:24 needservice.s5l8920x.img3 -rw-r--r--@ 1 m staff 47876 22 Mai 13:24 recoverymode.s5l8920x.img3 ./Firmware/dfu: total 416 drwxr-xr-x@ 4 m staff 136 22 Mai 13:39 . drwxr-xr-x@ 5 m staff 170 17 Jun 07:11 .. -rw-r--r--@ 1 m staff 104772 22 Mai 13:30 iBEC.n88ap.RELEASE.dfu -rw-r--r--@ 1 m staff 104772 22 Mai 13:36 iBSS.n88ap.RELEASE.dfu