fhunleth

fhunleth

Co-author of Nerves

We recently released Nerves 1.4.0 and an update to the Nerves new project generator, nerves_bootstrap. The biggest change is support for Elixir 1.8’s Mix target feature. This feature not only cleans up a Nerves project’s mix.exs file, it also makes switching between compiling for your device and testing on your laptop easier. Dependencies are versioned together now rather than in multiple files where library versions could diverge between targets and your host.

If you have an existing Nerves project, you can upgrade to Nerves 1.4.0 without making any changes to your mix.exs. It will still work, but without the new mix target support. When you’re ready, update instructions are at Updating Projects — nerves v1.14.3.

After you update, be aware that the build output directory has changed. You may need to update any scripts that publish the firmware bundle file (.fw file). For example, the nerves_firmware_ssh library’s upload script needed to change due to this. Be sure to update that library when you update.

First 10 of 12 Posts Switch mode

AstonJ

AstonJ

Whoo hoo - congrats on the release and thank you for all the hard work! :023:

kpanic

kpanic

I just started with nerves and raspberry pi zero with nerves 1.3.x two days ago! Super smooth stuff! congrats!

Eiji

Eiji

While we only officially support commonly available hardware, the community has added support for other boards. See Nerves Systems on hex.pm
Source: Log in | Hex

Nerves Systems on hex.pm link seems to be broken. I got No Results Found with such text in search input: depends%3Anerves_system_br.

Looks like that link is wrongly escaped:
https://hex.pm/packages?search=depends%253Anerves_system_br

it should be:
https://hex.pm/packages?search=depends%3Anerves_system_br

shifters98

shifters98

Just trying nerves for the first time on ubuntu 18.04 and when i run

mix nerves.new mygadget --init-gadget

i get:

  • (Mix) Nerves v1.0 requires at least Elixir ~> 1.8.
    You have 1.7.4. Please update accordingly

As i want to build this for a target system of the raspberry pi3 (a pi3b+) and currently i can only seem to get elixir 1.7.4 and erlang 20.1.3 from erlang solutions - how does nerves resolve this?? i.e. if i update my local elixir and erlang to 1.8 and 21 on my dev machine how does the build process resolve this to run on the pi3 i.e. which versions of erlang and elixir will run on the pi3?

Thanks for any insight!

Eiji

Eiji

Everything is described in documentation, please see:

shifters98

shifters98

Yes thats the exact page i followed - but before I update my dev machine elixir and erlang to the versions required on the page - i wanted to know what versions of those would be deployed to the rpi3 as 1.7.4 and 20.1.3 are the latest versions for the rpi3 at erlang solutions and hence 1.8 and 21.x dont seem to be supported for the rpi3?? or does the nerves build and deploy system have 1.8 and 21.x versions built in for the rpi3?

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

Using nerves does not require having Elixir installed on the raspberry pi at all. Nor does nerves use Ubuntu on the raspberry pi.

Nerves builds custom firmware that runs an erlang release and a minimalist buildroot linux installation. It does not do any compilation on the raspberry pi, consequently it doesn’t need Elixir or Erlang installed. The entire built image is only ~20mb.

shifters98

shifters98

Ah thanks for the clarification. I assumed it had libraries and a beam run time the facilities of which were dependent on the erlang version used on the device.

I guess i need to give it ago and see how it works.

cheers

Tom

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

The disk image it creates includes the complete BEAM runtime, so nothing is required on the device itself.

fhunleth

fhunleth OP

Co-author of Nerves

Thanks - fixed now.

Where Next? Top

Trending in News & Updates Top

kip
I’m a bit excited to announce that Localize and friends are now at release 1.0. Even though it’s a 1.0 release, it stands on 8 years of w...
New
bartblast
After building Hologram and sharing updates across various places, I’ve realized there’s a lot happening that doesn’t always make it to t...
New
bartblast
Hologram v0.11 is out! Two headline features this release. First, Elixir regexes now run in the browser. They were server-only until now,...
New
nseaSeb
Just published search_ash 0.5.0 (with search_core 0.4.0) on Hex. What’s new: synonyms You can now declare a synonym dictionary per lang...
New
mudasobwa
After years of struggling I made StreamData dependency optional. Finitomata.ExUnit got testing primitives for Persistence. Full back co...
New
sullyMusty
ActiveMemory 0.8.0 — in-memory tables that speak Ecto ActiveMemory 0.8.0 is now on Hex. ActiveMemory is an in-memory store built on ETS ...
New
mudasobwa
MdexMultilineCells is an MDEx plugin enabling multi-line cells in Markdown tables with full inline/block Markdown rendering and automati...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New

We're in Beta

About us Mission Statement