ESP32 installation packages

An ESP32 installation package is simply one executable binary file (generated by compiler/linker). By default the PlatformIO build generates binary file named firmware.bin.

Conventions, iocafe

The firmware.bin which needs to be renamed so that the file name includes the IO application name, program version and the target architecture. Convention used by us is to keep all installation packages in subdirecroties under /coderoot/packages directory. I make version numbers simply by YYMMDD-HHMM. This allows sorting versions to time order and selecting newest one. Convention of naming debian packages as organization-application-versiondate-versiontime-architecture.deb enables meaningfull searches. For example to find newest available package for application “candy” running on “esp32” architecture.

Creating a ESP32 installation package

  • Version number files generated at build time.
  • Firmware.bin is moved to /coderoot/packages and renamed.

To do/consider

  • Since the “ESP32 installation package” is simply the executable binary, it could be tampered with and modified version loaded. We should add cryptographic signatures to the file, setup some chain of trust and check the validity of digital signature when installing.

200706, updated 6.7.2020/pekka