Last Updated: 5th March 2021
DCDigital Filesystem Migration
Table of Contents
Migration
v4.7 supports two filesystems, SPIFFS (no longer maintained by the author and deprecated by platformio, but still supported by DCDigital) and LittleFS (the new default for both platformio and DCDigital).
If you have updated from an older firmware, your DCDigital will still use SPIFFS. But it’s possible to migrate from SPIFFS to LittleFS.
Important After migrating the filesystem, you will lose all settings after a downgrade to a version < v4.7
Step 1
Upgrade firmware to v4.7
Step 2
Make sure you have web console access. It’s recommended to set a web access password using the setup command. It’s also recommended to only perform the filesystem update if you’re able to recover from a soft bricked system.
Step 3
The ls command shows, which filesystem is currently used:
DCDigital> ls
---------------------------------
FSImpl: SPIFFS <---- HERE!
---------------------------------
Size Filename
---------------------------------
690194 /firmware.dc
521472 /firmware.bin
83752 /esp.index.html.gz
83752 /index.html.gz
64 /etc/firmware_version
64 /etc/http_auth_pass
64 /etc/ota_pass
64 /etc/password
64 /etc/ssid
32 /esp.index.html.gz.md5
32 /etc/last_esp_flash_md5
32 /etc/last_flash_md5
32 /etc/last_flash_spi_md5
32 /firmware.bin.md5
32 /firmware.dc.md5
32 /index.html.gz.md5
16 /etc/video/mode
16 /etc/video/resolution
8 /etc/last_flash_spi_pages
---------------------------------
1449984 of 3121152 bytes used
Step 4
Start the migration process by using the migratefs command.
- The configuration is preserved during filesystem migration, but the web console’s
index.htmlis too big to fit into the memory of the ESP8266 during the transition. - Therefore you will be sent to a download of the compressed index.html.gz. Please save the file, as you have to upload it again later.
- Then, you have to acknowledge the download on the web console.
- Filesystem migration will be started.
- After this is done, you find yourself on a page, where you can upload the previously downloaded
index.html.gz. - You end up in the web console again. Use the
lscommand to confirm theFSImplrow says:LittleFS.