earlephilhower / mklittlefs

Utility for creating LittleFS images for upload on the ESP8266 and RP2040 Pico
MIT License
159 stars 54 forks source link

Follow littlefs file name spec, update for compiling for c++ 20, update gitignore for binaries #43

Closed Szybet closed 5 months ago

Szybet commented 5 months ago

As described here: https://github.com/arduino-libraries/Arduino_UnifiedStorage/issues/42 This tool, and littlefs implementation here: https://github.com/esp8266/Arduino are the only ones using LFS_NAME_MAX=32 instead of 255

earlephilhower commented 5 months ago

Thanks for the note and the update for C++20.

Actually, the RP2040 arduino-pico is running at 32 as well, because I did both those implementations and just copied from the 8266 work. :) On the 8266 there's so little RAM and stack that the difference between 32 and 256 byte file lengths was significant but I think in 2024 that's no longer the case on non-EOL devices.

Let me do some code reading to verify this change won't break the 8266 or Pico (although I will update to 255 on the Pico by the next release) before merging.

earlephilhower commented 5 months ago

Looks like this will change the on-flash format enough to break existing code on the 8266. The superblock will have 255 while the lfs configuration will have 32 and it will error on mounting. https://github.com/littlefs-project/littlefs/blob/d01280e64934a09ba16cac60cf9d3a37e228bb66/lfs.c#L4486-L4493

That said, the toolchain is already built and the 8266 core is basically archived now so we can just leave them at the earlier release they are using and move forward.