-
Bug fixes
- Re-enabled Raspberry Pi Foundation display backlight driver.
-
Improvements
- Bump C compiler options to
-O2
from-Os
. This provides a small, but measurable performance improvement (500ms at boot in a trivial project tested on nerves_system_rpi0).
- Bump C compiler options to
-
Updated dependencies
This release bumps the Linux kernel to 4.19.25. This change had an impact on how the WiFi regulatory database gets loaded into the kernel. Instead of building it into the kernel as previously done, the kernel loads it on demand. This requires that all WiFi drivers be built as kernel modules so that the database isn't loaded before the root filesystem is mounted. If you made a custom system and see boot errors about not being able to load the regulatory database, this is the problem.
- Updated dependencies
- nerves_system_br v1.7.0
- Linux 4.19.25 with patches from the Raspberry Pi Foundation
- Updated dependencies
- nerves_system_br v1.6.8
- Erlang 21.2.6
- Updated dependencies
- nerves_system_br v1.6.6
- Erlang 21.2.4
- boardid 1.5.3
-
Updated dependencies
- nerves_system_br v1.6.5
- Erlang 21.2.2
- boardid 1.5.2
- erlinit 1.4.9
- OpenSSL 1.1.1a
- Linux 4.14.89 with patches from the Raspberry Pi Foundation
-
Enhancements
- Moved boardid config from inside erlinit.config to /etc/boardid.config
- Compile gpiomem into the Linux kernel
- Enable pstore, an in-memory buffer that can capture logs, kernel oops and other information when unexpected reboots. The buffer can be recovered on the next boot where it can be inspected.
This pulls in a pending patch in Buildroot to update the version of OpenSSL from 1.0.2 to 1.1.0h. This fixes what appears to be issues with Erlang using OpenSSL engines. It also enables Erlang crypto algorithms such as ed25519 that have been added in recent Erlang releases.
- Updated dependencies
- nerves_system_br v1.6.1
- Erlang 21.2
- Added dependencies
- wpa_passphrase
- libp11 0.4.9
- Enhancements
- Enable configuration for the Raspberry Pi 7" touchscreen display by default.
- Updated dependencies
This release updates the Linux kernel from 4.4/4.9 to 4.14.71.
-
Enhancements
- Added Alsa utils
aplay
andamixer
for audio support. - Added
espeak
a speech synthesizer for text to audio. - Automatically reboot if the Linux kernel panics (defaults to a 10 second delay before the reboot)
- Added Alsa utils
-
Updated dependencies
- nerves_system_br v1.5.2
- Linux 4.14.71 with patches from the Raspberry Pi Foundation
- Erlang 21.0.9
- Bug fixes
- Trim Linux module list to remove warnings on OSX builds. This makes a few other changes to the module list to remove some difficult to use modules on Nerves projects.
This release contains various updates to provisioning variables and data.
Host requirements
Building firmware using this system requires fwup
to be updated on your
host computer to at least v1.2.5
. The target minimum version requirement
has not changed from 0.15.0
.
Serial numbers
Device serial numbers are now set using NERVES_SERIAL_NUMBER
instead of
SERIAL_NUMBER
. This is to reduce ambiguity on the source of the serial
by name spacing it along side other Nerves variables. The U-Boot environment
key has also changed from serial_number
to nerves_serial_number
. The
erlinit.config has been updated to provide backwards compatibility for setting
the hostname from the serial number by checking for nerves_serial_number
and falling back to serial_number
.
Custom provisioning
Provisioning data is applied at the time of calling the fwup
task complete
.
The complete
task is executed when writing the firmware to the target disk.
During this time, fwup
will include the contents of a provisioning file
located at ${NERVES_SYSTEM}/images/fwup_include/provisioning.conf
. By default,
this file only sets nerves_serial_number
. You can add additional provisioning
data by overriding the location of this file to include your own by setting
the environment variable NERVES_PROVISIONING
. If you override this variable
you will be responsible for also setting nerves_serial_number
.
- Updated dependencies
This release upgrades gcc from version 6.3.0 to 7.3.0. See the toolchain release notes for more information.
- Updated dependencies
-
Bug Fixes
- Fix Raspberry Pi 3 B+ support by adding missing dtb file.
-
Updated dependencies
This release updates Erlang to OTP 21.0
- Updated dependencies
This release fixes some issues and adds firmware UUID support. This support can be used to unambiguously know what's running on a device.
-
Updated dependencies
-
Bug fixes
- Empty serial numbers stored in the U-Boot environment would be used instead of reverting to devices IDs built into the CPU or board.
- It wasn't possible to enable QtWebEngine (needed for kiosk apps)
This release adds official support for provisioning serial numbers to devices. Other information can be provisioned in a similar manner. See the README.md for details.
Buildroot was also updated to 2018.05. Be sure to review the nerves_system_br
link for the changes in the embedded Linux components.
-
Updated dependencies
-
New features
- More
wpa-supplicant
features were enabled to support more WiFi use-cases
- More
This release is nearly identical to rc.2 except with the deps bump to 1.0 and the serial port on the GPIO pins is assigned to "dev/ttyAMA0" like all other RPi systems.
- Updated dependencies
Upgraded the Linux kernel from 4.4 -> 4.9. Due to the coupling
between the Linux kernel and rpi-firmware and possibly rpi-userland, if
you have a custom system based off this, you should update your Linux
kernel as well. (see nerves_defconfig
)
-
Enhancements
- Support for Raspberry Pi 3 B+
-
Updated dependencies
This release contains updates to Erlang and heart from nerves_system_br
and
mostly cosmetic changes to this project. The trivial .fw
files are no longer
created by CI scripts. If you've forked this project and are building systems
using CI, make sure to update your publish scripts.
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Updated dependencies
- nerves_system_br v0.16.3 This fixes the call to otp_build so that it always uses Buildroot's version the autoconf tools.
-
Updated dependencies
-
Enhancements
-
Reboot automatically if Erlang VM exits - This is consistent with other Nerves systems. See rootfs_overlay/etc/erlinit.config if undesired.
-
Start running nerves_system_linter to check for configuration errors.
-
Disable console blanking for HDMI to make it easier to capture error messages.
-
Automount the boot partition readonly at
/boot
-
Support for reverting firmware.
See Reverting Firmware for more info on reverting firmware.
See fwup-revert.conf for more information on how fwup handles reverting.
-
-
Updated dependencies
-
Enhancements
- Support for nerves 0.8. Moves nerves.exs into mix.exs
- Support for the Raspberry Pi Compute Module
- Select ARM Cortex A53 as CPU for Buildroot
- Updated dependencies
-
Updated dependencies
-
Enhancements
- Add global patch directory
This is required to pull in the e2fsprogs patch that's needed now that util-linux's uuid_generate function calls getrandom and can block indefinitely for the urandom pool to initialize
- Updated dependencies
- nerves_system_br v0.13.7
This release contains an updated toolchain with Linux 4.1 Headers. You will have to clean and compile any c/c++ code in your project and dependencies. Failure to do so will result in an error when producing firmware.
-
nerves_system_br v0.13.5
- fwup 0.15.4
-
Nerves toolchain v0.11.0
-
nerves_system_br v0.13.3
- erlinit 1.1.4
-
New features
- Firmware updates verify that they're updating the right target. If the target
doesn't say that it's an
rpi3
through the firmware metadata, the update will fail. - Added meta-misc and meta-vcs-identifier to the
fwup.conf
metadata for use by users and for the regression test framework - Use String.trim instead of String.strip to silence Elixir 1.5 warnings
- Firmware updates verify that they're updating the right target. If the target
doesn't say that it's an
- nerves_system_br v0.13.2
- OTP 20
- erlinit 1.1.3
- fwup 0.15.3
-
nerves_system_br v0.12.1
- erlinit 1.1.1
- fwup 0.15.0
-
New features
- The application data partition is now
ext4
. This greatly improves its robustness to corruption. Nerves.Runtime contains code to initialize it on first boot. - Firmware images now contain metadata that can be queried at runtime (see Nerves.Runtime.KV
- Increased GPU memory to support Pi Camera V2
- The application data partition is now
-
nerves_system_br v0.10.0
- Buildroot 2017.02
- Erlang/OTP 19.3
-
New features
- Upgraded the Linux kernel from 4.4.43 -> 4.4.50. Due to the coupling
between the Linux kernel and rpi-firmware and possibly rpi-userland, if
you have a custom system based off this, you should update your Linux
kernel as well. (see
nerves_defconfig
)
- Upgraded the Linux kernel from 4.4.43 -> 4.4.50. Due to the coupling
between the Linux kernel and rpi-firmware and possibly rpi-userland, if
you have a custom system based off this, you should update your Linux
kernel as well. (see
- New features
- Enabled USB_SERIAL and FTDI_SIO support. Needed for connecting with Arduino to the USB ports
- Support for Nerves 0.5.0
- New features
- Upgraded the Linux kernel to 4.4.43. This also removes the call to mkknlimg which is no longer needed.
- Bump toolchain to use gcc 5.3 (previously using gcc 4.9.3)
- Bug Fixes
- brcmfmac is being compiled as a module. This means that in order to use wifi you will need to
modprobe brcmfmac
. This addresses an issue where the module would not initialize properly on some boards.
- brcmfmac is being compiled as a module. This means that in order to use wifi you will need to
- Bug Fixes
- Fixed issues with wifi not starting on some devices
This version switches to using the nerves_package
compiler. This will
consolidate overall deps and compilers.
- Nerves.System.BR v0.8.1
- Support for distillery
- Support for nerves_package compiler
When upgrading to this version, be sure to review the updates to nerves_defconfig if you have customized this system.
- nerves_system_br v0.6.2
- Package updates
- Buildroot 2016.08
- Linux 4.4
- Package updates
-
Package versions
- Nerves.System.BR v0.6.1
-
New features
- All Raspberry Pi 3-specific configuration is now in this repository
- Nerves.System.BR v0.6.0
- Package updates
- Erlang OTP 19
- Elixir 1.3.1
- fwup 0.8.0
- erlinit 0.7.3
- bborg-overlays (pull in I2C typo fix from upstream)
- Bug fixes
- Synchronize file system kernel configs across all platforms
- Package updates
- Enhancements
- Enabled USB Printer kernel mod. Needs to be loaded with
modprobe
to use
- Enabled USB Printer kernel mod. Needs to be loaded with
- Bug Fixes(raspberry pi)
- Enabled multicast in linux config
- Nerves.System.BR v0.5.1
- Bug Fixes(nerves-env)
- Added include paths to CFLAGS and CXXFLAGS
- Pass sysroot to LDFLAGS
- Bug Fixes(nerves-env)
- Nerves.System.BR v0.5.0
- New features
- WiFi drivers enabled by default on RPi2 and RPi3
- Include wireless regulatory database in Linux kernel by default on WiFi-enabled platforms. Since kernel/rootfs are read-only and coupled together for firmware updates, the normal CRDA/udev approach isn't necessary.
- Upgraded the default BeagleBone Black kernel from 3.8 to 4.4.9. The standard BBB device tree overlays are included by default even though the upstream kernel patches no longer include them.
- Change all fwup configurations from two step upgrades to one step upgrades. If you used the base fwup.conf files to upgrade, you no longer need to finalize the upgrade. If not, there's no change.
- New features
- Nerves.System.BR v0.4.1
-
Bug fixes
- syslinux fails to boot when compiled on some gcc 5 systems
- Fixed regression when booting off eMMC on the BBB
-
Package updates
- Erlang 18.3
- Elixir 1.2.5
-