Chat freely about anything...

User avatar
By GarryG
#80226 Hi,

I'm working on a problem that uses SPIFFS to deliver files from. Development is done on a windows machine, and everything works fine. Using ESP board package 2.4.2 on Arduino 1.8.8.
Anyway, in order to provide OTA of the data in SPIFFS, and for testing, I have the files on a Linux box, and instead of copying the files back and forth continuously, I thought it might be easiest to just build the spiffs image on the Linux box. So I downloaded the GIT files for mkspiffs/spiffs and compiled (Versions 0.2.2 and 0.3.7), but couldn't build archives that would work with my project. Also, listing the SPIFFS contents of the working image failed. So then I downloaded the 0.2.0 version contained in the Linux Arduino package, and again the image created is only partially compatible (a few files at the beginning are accessible)

After spending half a day trying back and forth, I'm out of ideas ... any idea what I might be missing here?
User avatar
By GarryG
#80254 After some additional fiddling I was able to get everything working - still don't know where the difference in the format created with the current 0.2.2/0.3.7 version of mkspiffs and the one used in the Arduino packages is, but one thing is for sure: neither 0.2.0 nor 0.2.2 is able to read a spiffs image created with 0.2.0 ... no matter if it's created under Windows or Linux. But the 0.2.0 images created under either system work fine with a 2.4.2 version of the spiffs code for ESP8266 ...

One option I wasn't able to use on the 0.2.2 release as it complained the final size wasn't a multiple was the block size ... on 0.2.0, I was once again able to use "-b 8192", which created an image usable on my D1 clone ... without it, the image is mostly unusable / incomplete ... so possibly, my whole problems boils down to the "-b" option being denied on this call:

mkspiffs -c testdir -p 256 -b 8192 -s 1028096 spiffs.img

Maybe somebody knowledgeable can check into thi ...