Skip to content

nerves-project/nerves

Repository files navigation

Nerves

Craft and deploy bulletproof embedded software in Elixir

Build Status

Requirements

64-bit host running

  • Mac OS 10.10+ or Linux (We've tested on Debian / Ubuntu / Redhat / CentOS)
  • Elixir ~> 1.2.4 or ~> 1.3.2
  • fwup >= 0.8.0

Docs

Installation Docs

Getting Started

Advanced Configuration

Install

Bootstrap Archive

Nerves is a suite of components which work together to create reproducible firmware using the Elixir programming language. To build Nerves applications on your machine, you will first be required to install the Nerves Bootstrap archive. The Nerves Bootstrap archive contains mix hooks required to bootstrap your mix environment to properly cross compile your application and dependency code for the Nerves target.

To install the archive:

$ mix archive.install https://github.com/nerves-project/archives/raw/master/nerves_bootstrap.ez

If the Nerves Bootstrap archive does not install properly, you can download the file from github directly and then install using the command mix archive.install /path/to/local/nerves_bootstrap.ez

In addition to the archive, you will need to include the :nerves application in your application deps and applications list.

  1. Add nerves to your list of dependencies in mix.exs:

    def deps do [{:nerves, "~> 0.3"}] end

  2. Ensure nerves is started before your application:

    def application do [applications: [:nerves]] end

Installing system specific dependencies: Installation Docs

Project Configuration

You can generate a new nerves project using the project generator. You are required to pass a target tag to the generator. You can find more information about target tags for your board at http://nerves-project.org

mix nerves.new my_app --target rpi2

Building Firmware

Now that everything is installed and configured its time to make some firmware. Here is the workflow

mix deps.get - Fetch the dependencies.

mix compile - Bootstrap the Nerves Env and compile the App.

mix firmware - Creates a fw file

mix firmware.burn - Burn firmware to an inserted SD card.

Copyright (C) 2015-2016 by the Nerves Project developers nerves@nerves-project.org