This trivial example demonstrates building an Elixir-based application using Nerves, and deploying firmware to the BeagleBone Black. All it does is make the LED bar flash back and forth in a pattern.
This example demonstrates:
- building host Elixir in the Nerves SDK
- releasing an Elixir app via relx
- turning released Elixir app into Nerves image
- burning an sdcard that boots to an Elixir App on the BeagleBone Black
I assume you already know how to build Nerves from source, and deploy the Nerves Sample App on the BeagleBone Black,
There are lots of tricks in terms of getting the stock nerves build to work, so please do that first, and make sure the built sample builds and boots.
- Make sure that you have a current version of nerves
- Run "make menuconfig" and enable Elxir support
- Build Buildroot and the Nerves SDK ("make")
- Build/install Frank's mmccopy utility (used by sample makefile)
source <nerves-sdk>/nerves-env.sh # bring in nerves enviornment
make # compiles and builds _release
make firmware # builds firmware from release
make sdcard # attempts to burn sdcard using mmccopy
This example was hacked together very quickly, it will hopefully improve. Since I'm quite new to Buildroot and Nerves, feel free to offer suggestions or pull requests! Yes, I know...
- my makefile is pathological
- this doesn't demo any dependencies (though they work)