OTA (over the air) updates were introduced with iOS 5. They allow a user to update the firmware on their device without the desktop iTunes program.
There are three known versions of the update file containers.
Version 1 updates came first, and were replaced with version 2 with iOS ???. They contain three main files:
archive.cpio.gz
: The actual encrypted patch archive. It is a collection of BSDIFF40
and the requisite flashing tools (bbupdater
, imeisv
, etc.).Info.plist
and Info.plist.signature
: Contains information about the update along with a signature.libupdate_brain.dylib
: A code library for stage 2 of the update process.Version 2 updates were introduced with iOS ???. Instead of an archive.cpio.gz
file, they contain two folders: added
and patches
. As their names imply, added
contains unencrypted files to be added to the filesystem while patches
contains BSDIFF40
files of files that need to be patched.
Version 3 updates were introduced with iOS ???. Quite a number of changes were made to the structure. The most major changes are listed below:
added
folder no longer exists.links.txt
was added. It contains a list of symbolic links (symlinks) to be created.patches
folder contents no longer use the BSDIFF40
file format, but a modified version known as BXDIFF41
.payload
and prepare_payload
were added. They hold the filesystem contents in a proprietary format.removed.txt
was added. It contains a list of files to be deleted prior to updating.This is a comprehensive list of every OTA update that has been released to the public.