Summary
Zephyr microPlatform changes for 35
A very active snapshot from Zephyr as part of the v1.14 development cycle. Tree-wide refactoring for DTS, board.h include removal and more logging changes. MCUboot and sample applications updated as a result.
Linux microPlatform changes for 35
Core layer updates based on the latest OE/Yocto master changes.
Zephyr microPlatform
Highlights
- Zephyr v1.14 development snapshot with tree-wide refactoring
- MCUboot merge from JuulLabs-OSS with updates due to upstream Zephyr changes
- Sample applications get some updates due to upstream Zephyr changes
Components
MCUboot
Features
MbedTLS changes to support versions > 2.6.1
RSA image handling was changed so that MbedTLS versions greater than 2.6.1 would be compatible.
Bugs
Zephyr build fixed due to DTS changes
Due to Zephyr upstream changing the way dts_fixup.h defines the fixup definitions, MCUboot needed a patch to alter FLASH_DEV_NAME -> DT_FLASH_DEV_NAME.
Zephyr
Features
Use DT_ prefix in all defined labels not related to Kconfig
Several tree wide-patches hit this merge-up, and the first is a refactoring of all dtsfixup defines which pretended to be Kconfig settings due to their naming of CONFIG_. This was causing some confusion when attempting to figure out where various settings were generated. Instead of CONFIG__, all of these settings are now generated as DT_*. Enter quite a few patches and follow-up cleanup patches to make all of this happen.
Refactor LOG_MODULE_REGISTER and LOG_MODULE_DECLARE macros
The LOG_MODULE_REGISTER and LOG_MODULE_DECLARE macros now take log level as optional parameter. LOG_MODULE_DECLARE can now also be used in static inline functions in headers. This was another tree-wide set of patches which affected every file with Logger configuration.
Remove board.h from boards that don't need it
Last of the tree-wide patches that might might affect external code, was a removal of unneeded board.h files. These typically only included <soc.h>. If you see a "file not found: board.h" error during your next compile, hopefully you'll remember what you saw here and just remove the offending "#include <board.h>" and replace it with "#include <soc.h>" if needed.
Dynamic interrupt API for the kernel
Zephyr wants to support hypervisor applications such as ACRN which presents virtual devices via PCI enumeration. In this case, the interrupt configuration is not known at build time. To support this and other use-cases, dynamic interrupt APIs were added to the kernel.
Additional SoC and board support
The STM32F143xG SoC and ST B-L072Z-LRWAN1 board were added to to Zephyr.
Bugs
Scheduler race condition fixed in k_sched_time_slice_set()
If k_sched_time_slice_set() was interrupted by a timeslice event, the slicing state could be corrupted. Fixed by using the existing lock sched_lock around the operations.
Fix DTS fixup file location for external SoCs
If you were wondering why the dts_fixup.h file in your external SoC wasn't automatically being included like the dts_fixup.h files in the SoCs inside Zephyr, then wonder no more! It was a bug. And now it's fixed.
hawkBit and MQTT sample application
Features
Not addressed in this update
Bugs
DT_* prefix naming update
This affected some FLASH_DEV_NAME references in our sample.
Remove board.h references
Upstream Zephyr removed the board.h file for many boards that didn't actually need them. In our case, we need to remove the left-over board.h references in our samples.
LWM2M sample application
Features
Not addressed in this update
Bugs
DT_* prefix naming update
This affected some FLASH_DEV_NAME references in our sample.
Remove board.h references
Upstream Zephyr removed the board.h file for many boards that didn't actually need them. In our case, we need to remove the left-over board.h references in our samples.
Fix WNC-M14A2A modem support
Upstream Zephyr is moving all of the generic settings belonging to "shield" type hardware out of the board and SoC files. This eliminates copy/paste errors as well as duplicated settings. Instead, these should be configured as Zephyr "shields" which have their own directory and settings per board. However, the WNC-M14A2A cannot be configured just yet as a shield due to on-going discussion regarding exposure of GPIO pins in a standard way. So the settings were all moved to the upstream LwM2M client sample for now.
Following along with that change, we've introduced the same files to the Foundries.io LwM2M sample so that the modem functionality is not lost.
Linux microPlatform
Highlights
- NetworkManager updated to the 1.14.4 release.
- Core layer updates based on the latest OE/Yocto master changes.
Components
Meta RaspberryPi
Features
Layer Update
Bcm sdio.txt linux-firmware files updated based on latest from raspbian. Firmware updated to 20180924. Userland updated to the latest master (d574b51a60).
Bugs
Not addressed in this update
Meta Freescale
Features
Layer Update
Imx-dpu-g2d updated to 1.4.8. Imx-gpu-g2d updated to 6.2.4.p1.8. Imx-gpu-viv updated to 6.2.4.p1.8. Kernel-module-imx-gpu-viv updated to 6.2.4.p1.8.
Bugs
Not addressed in this update
Meta Freescale 3rdparty
Features
Layer Update
Linux-boundary updated to a141bcc8. U-boot-boundary updated to ca185fc7.
Bugs
Not addressed in this update
Meta RISC-V
Features
Layer Update
Riscv-fesvr updated to 8d108a0a64. Riscv-pk updated to 6ebd0f2a46. Riscv-spike updated to 65c8ac48af.
Bugs
Not addressed in this update
Meta Updater Layer
Features
Layer Update
Aktualizr updated to the 348822d914 revision. Selftest qemu KVM support via QEMU_USE_KVM.
Bugs
Not addressed in this update
OpenEmbedded-Core Layer
Features
Layer Update
Bind updated to latest lts 9.11.5. Dmidecode updated to 3.2. Elfutils updated to 0.175. Ethtool updated to 4.19. Gnupg updated to 2.2.11. Gnutls updated to 3.6.4. Gobject-introspection updated to 1.58.1. Gpgme updated to 1.12.0. Gstreamer1.0 updated to 1.14.3. Harfbuzz updated to 2.1.3. Iproute2 updated to 4.19.0 Libgcrypt updated to 1.8.4. Libpcre2 updated to 10.32. Libsolv updated to 0.7.1. Libva updated to 2.3.0. Ltp updated to 20180926. Man-db updated 2.8.4. Mtools updated to 4.0.19. Nasm updated to 2.14. Ncurses updated to 6.1+20181013. Nspr updated to 4.20. Openssh updated to 7.9p1. Openssl10 updated to 1.0.2q. Rng-tools updated to 6.6. Rpcbind updated to 1.2.5. Sqlite3 updated to 3.25.3. Strace updated to 4.25. Tiff updated to 4.0.10. Vala updated to 0.42.3.
Bugs
bind
A denial of service flaw was discovered in bind versions that include the "deny-answer-aliases" feature. This flaw may allow a remote attacker to trigger an INSIST assert in named leading to termination of the process and a denial of service condition.
gettext
Double free in default_add_message in read-catalog.c.
Meta OpenEmbedded Layer
Features
Layer Update
NetworkManager updated to 1.14.4.
Bugs
Not addressed in this update
Meta LMP Layer
Features
Layer Update
Aktualizr-runtime-prov removed as it is not required anymore. Pi-bluetooth changed to force hciattach with noflow on RaspberryPi.
Bugs
Not addressed in this update