A custom Nerves gateway on the STM32MP1

Building a Nerves system from scratch for the STM32MP157F-DK2: the boot chain, device trees, and the first attempt at a working build.

Starting from nothing on unfamiliar silicon. What the boot chain actually does when you apply power, how to read a device tree, and where the first build went wrong.

Part 1
6 min

Why build a custom Nerves gateway from scratch

I've been using Nerves for a while now. Raspberry Pi, BeagleBone — the usual suspects. You pull in the official system, write your Elixir code, burn firmware,…

Part 2
14 min

The STM32MP1 boot chain, from power-on to Linux

I've been using Nerves for years, and for most of that time the boot process was a black box. Plug in power, wait a few seconds, get an IEx prompt. Magic.

Part 3
15 min

Device trees demystified: reading the hardware map

On a desktop PC, when you plug in a USB device or install a PCI graphics card, the operating system discovers it automatically. PCI has enumeration.

Part 4
93 min

Building the Nerves system: the first attempt

Before I show you the first build attempt (and its failures), I need to clear up something that confused me at first.