The current ESP8266 Sketch Data Upload tool fails as it ignores the "reset method" and "flash mode" board settings,
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting........_
Chip is ESP8266EX
Features: WiFi
WARNING: Detected crystal freq 20.33MHz is quite different to normalized freq 26MHz. Unsupported crystal in use?
Crystal is 26MHz
MAC: 00:08:ff:00:00:00
Uploading stub...
Running stub...
Traceback (most recent call last):
File "~/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/upload.py", line 65, in <module>
esptool.main(cmdline)
File "~/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool/esptool.py", line 2909, in main
esp = esp.run_stub()
File "~/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool/esptool.py", line 637, in run_stub
p = self.read()
File "~/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool/esptool.py", line 292, in read
return next(self._slip_reader)
File "~/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool/esptool.py", line 2057, in slip_reader
raise FatalError('Invalid head of packet (0x%s)' % hexify(b))
esptool.FatalError: Invalid head of packet (0x46)
SPIFFS Upload failed!