Skip to content

Latest commit

 

History

History
41 lines (27 loc) · 1.79 KB

README.md

File metadata and controls

41 lines (27 loc) · 1.79 KB

Nerves / Elixir

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

Some prerequisites

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.

Building Nerves with Elixir support

  • 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)

Building the trivial Elixir sample

  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      

Known Issues

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)