ESP8266 (framework-esp8266-rtos-sdk) want to create filesystem but gives a lot of errors

> Executing task: C:\Users\DNS\.platformio\penv\Scripts\platformio.exe run --target buildfs --environment esp_wroom_02 <

Processing esp_wroom_02 (platform: espressif8266; framework: esp8266-rtos-sdk; board: esp_wroom_02)        

Verbose mode can be enabled via `-v, --verbose` option
PLATFORM: Espressif 8266 (2.6.3) > ESP-WROOM-02
HARDWARE: ESP8266 80MHz, 80KB RAM, 2MB Flash   
 - framework-esp8266-rtos-sdk 1.5.0-beta.5     
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.30000.201119 (3.0.0) 
 - tool-mklittlefs 1.203.210203 (2.3)    
 - tool-mkspiffs 1.200.0 (2.0)
 - toolchain-xtensa 1.40802.0 (4.8.2)    
LDF: Library Dependency Finder ->
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 0 compatible libraries
Scanning dependencies...    
No dependencies
Building in release mode
AssertionError: :
  File "C:\Users\DNS\.platformio\penv\Lib\site-packages\platformio\builder\", line 178:
  File "C:\Users\DNS\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Script\", line 591:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\DNS\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Script\", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\DNS\.platformio\platforms\espressif8266\builder\", line 243:
    target_firm = env.DataToBin(
  File "C:\Users\DNS\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\", line 238:    
    return super().__call__(target, source, *args, **kw)
  File "C:\Users\DNS\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\", line 658:
    return self.method(*nargs, **kwargs)
  File "C:\Users\DNS\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\", line 650:
    return self._execute(env, target, source, OverrideWarner(kw), ekw)
  File "C:\Users\DNS\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\", line 560:
    tlist, slist = self._create_nodes(env, target, source)
  File "C:\Users\DNS\.platformio\packages\tool-scons\scons-local-4.1.0\SCons\", line 522:
    target, source = self.emitter(target=tlist, source=slist, env=env)
  File "C:\Users\DNS\.platformio\platforms\espressif8266\builder\", line 119:
  File "C:\Users\DNS\.platformio\platforms\espressif8266\builder\", line 98:
    assert all([
======================================= [FAILED] Took 3.75 seconds =======================================

Environment    Status    Duration
-------------  --------  ------------
esp_wroom_02   FAILED    00:00:03.749
================================== 1 failed, 0 succeeded in 00:00:03.749 ==================================
The terminal process "C:\Users\DNS\.platformio\penv\Scripts\platformio.exe 'run', '--target', 'buildfs', '--environment', 'esp_wroom_02'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.


Filesystem building does not work for this SDK. The Python logic expects a linker script which exports certain symbols (PROVIDE( .._FS_... = ....)) so that it knows where the filesystem starts and ends, along other information.

Compare the used script(s) in ESP8266_RTOS_SDK/ld at 1.4.x · espressif/ESP8266_RTOS_SDK · GitHub vs

Ways to fix that would be to adapt the used linker script (locally in e.g. ~/.platformio/packages/framework-esp8266-rtos-sdk/ld/ and related), or relocate the used linker script to a different file that has these symbols per docs.

However, it would be best to just request direct support, at Issues · platformio/platform-espressif8266 · GitHub.

thanks, I will try the first method, if it doesn’t work, I will ask here