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
BSDIFF40and the requisite flashing tools (
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:
patches. As their names imply,
added contains unencrypted files to be added to the filesystem while
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:
addedfolder no longer exists.
links.txtwas added. It contains a list of symbolic links (symlinks) to be created.
patchesfolder contents no longer use the
BSDIFF40file format, but a modified version known as
prepare_payloadwere added. They hold the filesystem contents in a proprietary format.
removed.txtwas 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.