Build an AtomVM firmware a NervesHub device can run.
mix nerves_hub.atomvm.vm ~/src/AtomVM ~/src/atomvm_websocket_clientA device does not run a stock AtomVM. The WebSocket transport is an ESP-IDF
component, over-the-air updates need a partition table with two packbeam
slots rather than the one stock has, and verifying signatures needs
AVM_USE_LIBSODIUM=ON and more main task stack than the default.
This copies two files into the AtomVM tree and runs idf.py with the right
flags, so the same VM comes out on another machine. The files ship in the
agent's priv/atomvm and are printed below as they are copied, so nothing
here is hidden.
Run it from an ESP-IDF environment (. $IDF_PATH/export.sh). ESP-IDF v5.2 to
v5.5: AtomVM does not build against v6.
Options
--target- the chip,esp32by default--no-libsodium- skip Ed25519, and with it firmware signature verification. The two update slots are still set up--dry-run- print what would happen and change nothing