I tried this again with the micropython-1.12.tar.xz file available on the micropython.org website (not the git source code I used before with the v1.12 tag). I tried compiling the firmware with 'make ota', erasing the flash with esptool, loading the initial yaota8266.bin firmware at position 0x0 and the firmware-ota.bin at position 0x3c000, signing the firmware-ota.bin file with the ota_client to firmware-ota.bin.ota, and uploading the firmware-ota.bin.ota file with the ota_client. I did make my own RSA key before signing.
I used the yaota8266 code at
https://github.com/jedie/yaota8266. Perhaps this is the problem, but I could not get pfalcon's code to work on its own. @jedie and @schinckel both were active in making his code viable.
Below is the output with just the vanilla micropython-1.12 code base (none of my modules were added and I did not touch a thing, just compiled and tested):
I had to change the networking part of @jedie's code as his broadcast to 255.255.255.255 was not working on my network. I just put in a command-line option to specify the IP of my ESP8266. I left the rest alone, leaving the default values in config.h except for the updated modulus from my RSA key. I'm pretty sure that everything is all right.
Code: Select all
boot8266
HW RTC Reset reason: 2
System reset reason: 1
Initial GPIO state: e0030031, OE: 0
RTC user memory: 746f617a 61746f61
Comparator: 746f6179 61746f61
Magic word in RTC memory not detected, continuing normally.
Invalid main app size: 1487058088
Running OTA
#0 ets_task(0x4020b518, 31, 0x3ffe89d0, 4)
ll��|��{rnc�
�l����b�
#
r�ܜ�cB$
After this, the board goes into OTA mode, times out, and repeats, going back into OTA mode.