Replies: 7 comments 6 replies
-
The file _boot.py is in the modules directory. Therefore somewhere in your manifest.py chain there must be a statement |
Beta Was this translation helpful? Give feedback.
-
Thanks! |
Beta Was this translation helpful? Give feedback.
-
The default for FROZEN_MANIFEST for the ESP8266_GENERIC board is |
Beta Was this translation helpful? Give feedback.
-
>>> help("modules")
__main__ cryptolib lwip select
_asyncio deflate machine socket
_espnow errno math ssl
_onewire esp microdot struct
_webrepl framebuf micropython sys
array gc network time
binascii hashlib os uctypes
btree heapq platform websocket
builtins io random
collections json re
Plus any modules on the filesystem So flashbdev is indeed missing, as is mip, but microdot is present. |
Beta Was this translation helpful? Give feedback.
-
If you use a 4M module, you can instead include the one from BOARD_DIR: |
Beta Was this translation helpful? Give feedback.
-
That's not right. FROZEN_MANIFEST is set in the mpconfigboard.mk or Makefile, whether you call just
You can also create a file called GNUmakefile, which sets your preferred overrides, like e.g.:
Then, when you call |
Beta Was this translation helpful? Give feedback.
-
@martijnzm I'm having a bit of a hard time following the thread above. In general anything that involves customising the build means you should make your own board definition. If you copy the ESP8266_GENERIC directory (place the copy anywhere, doesn't have to be in the MicroPython repo), then you can edit the files as you reqire and build with
When you copy the directory, you can remove Then you can do whatever you like to your board's manifest.py |
Beta Was this translation helpful? Give feedback.
-
In order to freeze additional modules in the the firmware I am compiling µPython from source following the instruction on [https://github.com/micropython/micropython/tree/master/ports/esp8266|github]. After some effort (main lesson: don't use the Espressif SDK) I have created and flashed firmware. But after boot, very little libraries are available, specifically mip and webrepl are not available, leaving no possibilities to add more libraries.
Info:
make -j BOARD=ESP8266_GENERIC
, with and without the variant of 1Mb flash and with or without FROZEN_MANIFEST to include microdot.import webrepl
andimport mip
give ImportError (no module)import microdot
fails onimport asyncio
. So apparently microdot.mpy itself has successfully been included.from _boot.py import uos, from flashbdev import bdev, uos.VfsFat.mkfs(bdev)
manually but flashbdev is not availableMy conclusion is that the "root filesystem" is missing or mostly empty. But it is strange to see that microdot.mpy can be accessed. So probably there is file system but many standard libraries are missing. I did 'make -C ports/esp8266 submodules' before compiling µPython so I don't understand why.
Thanks for the effort of replying. I hope I provided enough information.
Beta Was this translation helpful? Give feedback.
All reactions