Creating a Custom Nerves System: Lessons from Patching the Linux Kernel
When a Nerves application needs a board-specific driver, pinmux arrangement, or device-tree change, the application is often the wrong place to solve the problem. The change belongs in the Nerves system: the part of the firmware that defines the bootloader, Linux kernel, device tree, root filesystem, and cross toolchain.
Firmware Updates with fwup: Beyond the Basics
It’s easy to think of a firmware update as copying a new root filesystem onto a device. For a board sitting on your desk with an SD card reader next to it, that’s close enough to true. For a device deployed in the field with no one standing beside it, it isn’t — an update that gets interrupted halfway, or that produces a system that boots but doesn’t work, has to leave you with a device that still comes back up.
SPI LCD Rendering on Nerves with Scenic
Scenic is one of the go-to options for putting a UI on Nerves hardware, but getting it to actually draw on a physical panel involves more than adding the dependency and writing a scene. Before Scenic renders a single pixel, the kernel needs to know your display exists, bring up a driver for it, and expose it as a framebuffer device — and that part is standard Linux display bring-up, not really a Scenic concern at all.