Menu Close

Last Updated: 5th March 2021

DCDigital Filesystem Migration

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.html is 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 ls command to confirm the FSImpl row says: LittleFS.

Sources

Black Dog Tech

Christof Harnischmacher

Daniel Kunz