Skip to content

Re-align firmware configuration with platform

These changes re-align the Corstone-1000 firmware build in Cassini with the Corstone-1000 firmware build in meta-arm.

Currently, on Cassini, we see:

kas shell --update meta-cassini-config/kas/cassini.yml:meta-cassini-config/kas/corstone1000-fvp.yml
bitbake-getvar -r mc:firmware:optee-os DISTRO_FEATURES
DISTRO_FEATURES="largefile ipv4 pulseaudio gobject-introspection-data"

Whereas, on meta-arm we see

kas shell --update ci/corstone1000-fvp.yml:ci/debug.yml 
bitbake-getvar -r optee-os DISTRO_FEATURES
DISTRO_FEATURES="pci ipv4 ipv6 usbhost \${DISTRO_FEATURES_USBGADGET} \${DISTRO_FEATURES_WIFI} pulseaudio gobject-introspection-data"

This was fine until a change in poky master caused systemd to also enable usrmerge, which in turn broke the build of upstream firmware components. The break will be fixed upstream for the master branch, but we also want to re-align the firmware build in mickledore-dev.

The current code assumes bitbake assignment operators =, :append, and :remove operators work in a specific way, or are applied in a specific order which may have been correct when tested but is not correct now. By using the cassini and cassini-firmware overrides we can ensure that changes that are intended for the Cassini distro are not applied to the firmware build.

After these changes, DISTRO_FEATURES and POKY_INIT_MANAGER should match meta-arm when building the firmware and match the current Cassini settings when building the distro.

Edited by Adam Johnston

Merge request reports