adevtool/external/extract_android_ota_payload
Dmitry Muhomor 7eceea9041 extract_android_ota_payload.py: don't keep temporary payload.bin file
It takes up a couple of gigabytes of space per-device.
2023-08-31 16:03:43 -04:00
..
.gitignore Import https://github.com/cyxx/extract_android_ota_payload @ 6952cd8095573b14cae24198fe923347a13790df 2022-04-18 15:12:51 -04:00
extract_android_ota_payload.py extract_android_ota_payload.py: don't keep temporary payload.bin file 2023-08-31 16:03:43 -04:00
LICENSE Import https://github.com/cyxx/extract_android_ota_payload @ 6952cd8095573b14cae24198fe923347a13790df 2022-04-18 15:12:51 -04:00
README.md Import https://github.com/cyxx/extract_android_ota_payload @ 6952cd8095573b14cae24198fe923347a13790df 2022-04-18 15:12:51 -04:00
requirements.txt Import https://github.com/cyxx/extract_android_ota_payload @ 6952cd8095573b14cae24198fe923347a13790df 2022-04-18 15:12:51 -04:00
update_metadata_pb2.py Import https://github.com/cyxx/extract_android_ota_payload @ 6952cd8095573b14cae24198fe923347a13790df 2022-04-18 15:12:51 -04:00

extract_android_ota_payload.py

Extract Android firmware images from an OTA payload.bin file.

With the introduction of the A/B system update, the OTA file format changed. This tool allows to extract and decompress the firmware images packed using the 'brillo' toolset.

Incremental firmware images are not supported (source_copy, source_bsdiff operations).

Usage

$ extract_android_ota_payload.py <payload.bin> [target_dir]
  <payload.bin> : file extracted from the OTA zip file or the OTA zip file
  <target_dir>  : output directory for the extracted file

Example

$ python3 extract_android_ota_payload.py marlin-ota-opm4.171019.021.d1-fd6998a5.zip /tmp/
Extracting 'boot.img'
Extracting 'system.img'
Extracting 'vendor.img'
...
Extracting 'modem.img'

Dependencies

python-protobuf,bzcat,xzcat