Extract firmware from an OxygenOS ROM to a custom flashable firmwareupdater.zip
- Built for and tested on Oneplus 5t (dumpling), but could work on other ROMs using the same file architecture
- Maybe the custom ROM you want to use already includes the latest radio/firmware. Maybe not, or maybe you want to use a specific firmware version, in which case this tool can be useful.
- Instructions
SELECT ROM TO EXTRACT- Select your OxygenOS zip- Wait for the MD5 check to appear
EXTRACT- Unzip to a temp directory, modifying theupdater-scriptincluded in the ROM and only including some of the files to only install firmwareCHECK- Check the directory structure and the modifiedupdater-scriptseem ok to you, as I can't guarantee the modifications that worked on my device's OxygenOS ROM structure will work on all future devicesCOOK- Finally generate thesdcard/firmwareupdater.zipthat you will be able to install from your recovery
- The extracted
sdcard/firmwareupdater.zipenables you to update the firmware without having to re-flash your custom ROM. You should still keep a working previous version offirmwareupdater.zipor of OxygenOS to flash back just in case a change in the OxygenOS ROM directory structure broke compatibility with this tool and flashing the last generated firmware left your device in an unusable state.
- Don't hesitate to create an issue to notify me if this app is still working on devices newer than OnePlus 5t so I can update this README
- The UX is really bad as I never expected people to actually use this app and only did it for myself at first. You can create an issue if you're still using this app and felt confuse at first launch, I might improve it.
- Obviously, you are going to flash probably closed-source firmware files, but at least it's from an official ROM.
- The
updater-scriptgenerated by the app is executed using the originalupdate-binarybinary file extracted from the ROM.- Not that it matters since you are flashing firmware files from it anyway.
- You can check this repository in case you are curious of how this works.
Some code snippets taken from stackoverflow.com and modified, credited them and released under MIT license as permitted.
