I realize this is a necro year-old discussion. But the reported problems are identical to my experience while installing ESPixelstick firmware. I finally succeeded in flashing a working ESP32 from self-compiled binaries using Platformio. Maybe it will help someone with similar problems by sharing what I learned (which relates to the OP's issues).
BTW, I didn't have any trouble with getting Platformio to build error-free ESP32 firmware for any of the defined board environments. That is to say, after flashing ESPixel was able to connect to my router (as confirmed with serial log). But browser access to the device always resulted in a "page not found." So that meant the html files were missing from LittleFS, the "SPIFFS" file handler. So with that in mind:
No joy with this. LittleFS is an issue it would appear.
C:\..\...\Documents\Arduino\libraries\LittleFS_esp 32\src\lfs.c:998:error: Corrupted dir pair at {0x1, 0x0}
E (68) esp_littlefs: mount failed, (-84)
E (71) esp_littlefs: Failed to initialize LittleFS
I struggled with this one for hours. I thought I did everything correct; I had installed the required nodejs, NPM, and Gulp tools. And Gulp was generating the html.gz files in Platformio's data folder. The Arduino IDE, which must be used to upload them, was reporting success (Tools->ESP32 Sketch Data Upload). But browser access always failed (page not found) and serial log's "Corrupted dir pair at {0x1, 0x0}" error message persisted.
I eventually discovered that my Arduino IDE had the wrong Data Upload Plugin. A special Arduino version must be used that is available here:
https://github.com/lorol/arduino-esp32fs-plugin. I copied it to the required Arduino Tools folder (e.g.
C:\Users\{NAME}\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\tools). After updating the plugin, Arduino successfully uploaded the data files (must use the "LittleFS" format). And my web browser was happy, all the ESPixel web pages were functional.
When I try to open the esptool.jar it just throws a lot of errors .
I knew I should have left this alone as I was not in a coding mode mindset ................now my headaches lmao.
I ran into that issue too. My Platformio build environment was cloned from ESPixelsticks github repository. The cloned repository didn't have any of the binaries needed by the esptool.jar uploader. So several error messages will be seen as it reports each missing file.
The Uploader's error messages went away after I manually copied the missing binary files from Github. I could now flash the files and this also solved the "Corrupted dir pair at {0x1, 0x0}" error message reported by serial log. But despite that good luck, browser access still reported the "page not found" errors. The missing html was resolved when I got Arduino's Data Upload function working, as described above.
- Thomas