Changelog
v0.12.1
This is a security/bug fix release that updates to Buildroot 2021.02.1 and OTP 23.3.1. It should be safe for everyone to apply.
- Updated dependencies
v0.12.0
This release updates to Buildroot 2021.02 and OTP 23.2.7. If you have made a
custom system off this one, please review the nerves_system_br v1.15.0
release
notes.
The Nerves toolchain has also been updated to v1.4.2. This brings in Linux 4.14 headers to enable use of cdev and eBPF. This won't affect most users.
- Updated dependencies
v0.11.0
This release updates to Buildroot 2020.11.2, GCC 10.2 and OTP 23.2.4.
When migrating custom systems based, please be aware of the following important changes:
The GCC 10.2.0 toolchain has a different name that calls out "nerves" as the vendor and the naming is now more consistent with other toolchain providers.
Experimental support for tooling that requires more information about the target has been added. The initial support focuses on zigler.
Updated dependencies
v0.10.4
This is a bug fix release and contains no major changes.
- Updated dependencies
v0.10.3
This release includes a patch release update to Buildroot 2020.08.2.
Updated dependencies
Improvements
- Switched source for built-in WiFi module firmware. This pulls in newer firmware versions that were found to fix issues on the Raspberry Pi 4. It may improve built-in WiFi on other Raspberry Pis.
v0.10.2
- Fixes
- Adds
libnl
back to support VintageNet
- Adds
v0.10.1
The main change in this release is to bump the Linux kernel to 5.4. This follows
similar updates to Linux 5.4 across the official Nerves systems. Please review
the linux-5.4.defconfig
for changes.
Updated dependencies
Improvements
- Enabled reproducible builds in Buildroot to remove some timestamp and build path differences in firmware images. This helps delta firmware updates.
v0.10.0
This release updates to Buildroot 2020.08 and OTP 23.1.1.
- Updated dependencies
v0.9.2
This release updates to Buildroot 2020.05.1 and OTP 23.0.3 which are both bug fix releases.
Updated dependencies
New features
- The
/data
directory now exists for storing application-specific data. It is currently a symlink to/root
. Using/data
will eventually be encouraged over/root
even though currently there is no advantage. This change makes it possible to start migrating paths in applications and libraries.
- The
Fixes
- Fixed old references to the
-Os
compiler flag. All C/C++ code will default to using-O2
now.
- Fixed old references to the
v0.9.1
- Fixes
- Remove
nerves_system_linter
from hex package. This fixes mix dependency errors in projects that reference systems with differentnerves_system_linter
dependency specs.
- Remove
v0.9.0
This release updates the system to use Buildroot 2020.05 and Erlang/OTP 23. Please see the respective release notes for updates and deprecations in both projects for changes that may affect your application.
- Updated dependencies
v0.8.2
- Updated dependencies
- nerves_system_br v1.11.4
- Erlang 22.3.4.1
- fwup 1.7.0
v0.8.1
- Updated dependencies
- nerves_system_br v1.11.2
- Erlang 22.3.1
- erlinit 1.7.0 - tty initialization support
- fwup 1.6.0 - xdelta3/VCDIFF patch support
- Enable unixodbc so that Erlang's odbc application can be used in projects
v0.8.0
This release updates Buildroot to 2020.02 and upgrades gcc from 8.3 to 9.2. While this is a minor version bump due to the Buildroot release update, barring advanced usage of Nerves, this is a straightforward update from v0.7.2.
- Updated dependencies
- nerves_system_br v1.11.0
- linux 4.19.108
- Erlang 22.2.8
v0.7.2
- Updated dependencies
- nerves_system_br v1.10.2
- Erlang 22.2.4
v0.7.1
Enhancements
- Set
expand=true
on the application data partition. This will only take effect for users running the complete task, fwup will not expand application data partitions that exist during upgrade tasks.
- Set
Updated dependencies
- nerves_system_br v1.10.1
- Erlang 22.2.3
v0.7.0
This release updates Buildroot to 2019.11 with security and bug fix updates
across Linux packages. Enables dnsd, udhcpd and ifconfig in the default
Busybox configuration to support vintage_net
and vintage_net_wizard
.
See the nerves_system_br
notes for details.
- Updated dependencies
- nerves_system_br v1.10.0
- Erlang 22.1.8
v0.6.2
This release updates Buildroot to 2019.08.2 with security and bug fix updates
across Linux packages. See the nerves_system_br
notes for details.
Erlang/OTP is now at 22.1.7.
- Updated dependencies
v0.6.1
This release pulls in security and bug fix updates from nerves_system_br
.
Erlang/OTP is now at 22.1.1.
- Updated dependencies
v0.6.0
This release updates Buildroot to 2019.08 with security and bug fix updates
across Linux packages. See the nerves_system_br
notes for details.
- Updated dependencies
v0.5.2
- Updated dependencies
v0.5.1
- Updated dependencies
v0.5.0
This release
This release updates Erlang to OTP 22 and gcc from version 7.3.0 to 8.3.0. See the nerves_system_br and toolchain release notes for more information.
Enhancements
- Enable source-based routing in the Linux kernel to support vintage_net
Updated dependencies
v0.4.2
- Bux fixes
- Add TAR option
--no-same-owner
to fix errors when untarring artifacts as the root user.
- Add TAR option
- Updated dependencies
v0.4.1
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
v0.4.0
- Updated dependencies
- nerves_system_br v1.7.0
- Erlang 21.2.7
- Linux 4.19.29
v0.3.0
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
- nerves_system_br v1.6.5
- Erlang 21.2.2
- boardid 1.5.2
- erlinit 1.4.9
- OpenSSL 1.1.1a
- Linux 4.18
Enhancements
- Moved boardid config from inside erlinit.config to /etc/boardid.config
v0.2.1
- Fix up toolchain references
v0.2.0
- Switch from glibc to muslc to reduce image size
- Update to nerves_system_br v0.14.0
v0.1.0
- Initial release