ESP32: Increase Erlang boot.avm partition to 512KB#2254
Merged
bettio merged 1 commit intoatomvm:release-0.7from Apr 3, 2026
Merged
ESP32: Increase Erlang boot.avm partition to 512KB#2254bettio merged 1 commit intoatomvm:release-0.7from
bettio merged 1 commit intoatomvm:release-0.7from
Conversation
The Erlang standard library has outgrown the 256KB boot.avm partition. Increase it to 512KB (0x80000), matching the Elixir partition layout. The main.avm offset moves from 0x210000 to 0x250000 for Erlang-only images. Both partition layouts now share the same offsets, so GetBootAVM.cmake switches from offset-based flavor detection to using the ATOMVM_ELIXIR_SUPPORT flag. This is a breaking change: users flashing applications to ESP32 devices must update their tooling to use 0x250000 instead of 0x210000. Signed-off-by: Davide Bettio <davide@uninstall.it>
UncleGrumpy
approved these changes
Apr 3, 2026
Collaborator
UncleGrumpy
left a comment
There was a problem hiding this comment.
Thanks for taking care of this!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Erlang standard library has outgrown the 256KB
boot.avmpartition on ESP32.This increases it to 512KB, matching the size already used by the Elixir partition layout.
partitions.csv: boot.avm size 0x40000 → 0x80000, main.avm offset 0x210000 → 0x250000GetBootAVM.cmake: switch flavor detection from offset-based toATOMVM_ELIXIR_SUPPORTflag, since both partition layouts now share the same main.avm offset
Breaking change
Users flashing applications to ESP32 devices with Erlang-only images must update their
flashing offset from
0x210000to0x250000.Notes
partitions.csvandpartitions-elixir.csvare now identical in content but kept asseparate files intentionally.
mkimage.config.in,flash.sh.in, andCMakeLists.txtdid not need changes: theyreference the boot.avm offset (0x1D0000, unchanged) or use CMake macros that
auto-resolve from the partition table.
These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later