Project updates
Buildroot updates
nerves_system_br, v1.32.1
This is a bug fix update for 1.32.0.
nerves_system_br, v1.31.5
This is a bug fix update for 1.31.4.
nerves_system_br, v1.31.6
This is a bug fix update for 1.31.5. It contains many CVE fixes from the Buildroot patch updates and a fix for libcamera support on the Raspberry Pi 5. Previous Raspberry Pis have no changes.
Note: systems based on this have not been release yet.
If you want to try RPi5 with camera support, build off of nerves_system_rpi5 branch `main`.
Changes
- Added rpi-libpisp package to support the Raspberry Pi 5’s image processor
- Updated the rpi-libcamera package to check if rpi-libpisp is available and enable the pipeline if so.
Package updates
System updates!
This is a security/bug fix release.
nerves_system_mangopi_mq_pro, v0.13.2
nerves_system_vultr, v0.28.2
nerves_system_x86_64, v1.31.2
nerves_system_grisp2, v0.15.2
nerves_system_osd32mp1, v0.22.2
nerves_system_bbb, v2.27.2
kiosk_system_rpi5, v0.4.2
kiosk_system_rpi4, v0.4.2
nerves_system_rpi5, v0.6.2
nerves_system_rpi4, v1.31.2
nerves_system_rpi3a, v1.31.2
nerves_system_rpi3, v1.31.2
nerves_system_rpi2, v1.31.2
nerves_system_rpi, v1.31.2
nerves_system_rpi0, v1.31.2
nerves_system_qemu_aarch64, v0.1.0
Initial release.
The idea behind and plans for this system were covered in a previous newsletter. You can also
read the blog posts
about it.
Still early days.
Other updates
nerves_key, v1.3.0
There should be some more writing about this feature and usage of it at some point. But
the config documentation
should give a decent enough idea of what it can be used for. This allows locking down more of your device using the ATECC608 if you are provisioning it yourselves. Limitato
- Support volatile keys to allow access to secret storage as long as it’s powered. Cutting the power via a tamper switch or any other means requires reauthorization. Thanks to @lawik for this feature.
- Support the REUSE specification for licensing and copyright
atecc508a, v1.4.0
- Support authorized key usage via volatile key on ATECC608 (Thanks to @lawik)
- Fix Elixir 1.19 warnings
- Drop Elixir 1.13 support
nerves_hub_link, v2.8.0
Added
- Add a client callback for when the device is connected (#312) (Thanks @amclain)
- Enable per-message WebSocket compression via Mint extensions (#318)
Updated
- Don’t create duplicate Disconnected alarms (#317)
- Clear previous CheckFailed alarms before setting a new one (#317)
- Support the use of :alarm_handler for health reports, removing the Alarmist requirement (#317)
Fixed
- SSL: cacerts no longer override cacertfile (#321) (Thanks @D4no0)
nerves_runtime, v0.13.9
Document application config keys. These are
now official. If you had been modifying the application config for regression tests, note that the :env key is now :fwup_env and :revert_fw_path is now ops_fw_path.
Add Nerves.Runtime.firmware_slots/0 to return a map indicating the currently running slot and the one that will be run on next boot. Please update any calls to get "nerves_fw_active" directly from Nerves.Runtime.KV since the new firmware_slots/0 is more accurate and handles more scenarios on Nerves devices.
Add firmware_validation_status/0 to allow callers to know whether the status is really unknown. This isn’t
possible with firmware_valid?/0 which is problematic since unknown could mean that the U-Boot environment is unreadable and a fix is needed. Instead firmware_valid?/0 returns true in that case since this could be an old Nerves device without validation.
Replace call to Busybox mount to determine filesystem read-only status with a module that reads /proc/self/mountinfo.
Expose mount information via Nerves.Runtime.MountInfo. If you had been using MountParser, please update your calls. MountParser was not intended to be public API (@moduledoc false) and was removed.
Serialize calls to fwup to reduce chance of accidental eMMC/MicroSD corruption
Bulletproof many functions to return errors if the :nerves_runtime application stops. This can happen when the device is not in a good state and raising in NervesRuntime KV and FwupOps functions made things worse. This should be a rare case.