Freestanding Erlang Porting BEAM close to the metal.
summary
Project ports an unmodified BEAM to a freestanding ARMv7 environment and runs real Elixir/Erlang workloads. It replaces kernel calls with a vdso-style vsyscall table, implements a mmap subset, clone/exit/futex to satisfy pthreads, and serves code from a cpio in-memory filesystem. Musl shows ~1,600 exported C functions and ~200 syscall targets; the build implements a focused subset, drops POSIX signals and fork, and successfully runs Phoenix LiveView dashboards and many common tests.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:09Freestanding Erlang overview
- 3:38Security in embedded systems
- 9:36Transitioning to freestanding BEAM
- 12:01vDSO system calls
- 14:47System call walkthrough
- 16:11Memory management
- 18:19Threading initialization
- 20:48Loading BEAM code
- 22:34Networking support
- 23:15Minimal system calls design
- 24:40Validation and testing
- 26:26Conclusion








