Description
Describe the problem you have/What new integration you would like
ESP8266 Arduino framework v2.7.0 default bootloader added support for gzipped OTA updates here: esp8266/Arduino#6820
The compressed firmware image is then stored by the OTA backend on the flash. When the ESP is rebooted to apply the new firmware, the bootloader decompresses the image and writes it to the correct flash location.
Please describe your use case for this integration and alternatives you've tried:
This could be useful for some low flash space ESP8266s, as OTA updates would need less spare space.
With a quick test it looks like this results in ~30% savings (gzip -9 <firmware.elf
).
Additional context
Downsides:
- Fragments OTA code; sender would need to know if ESP supports gzipped OTAs. Could be solved by adding a new OTA command.
- The change for gzipped updates is in the bootloader. IIRC the bootloader is only updated with flashing while physically attached.
(Only documenting this for future, no intention of implementing this myself yet; if you do please coordinate here)