Skip to content

Requirements/capabilities in Sysbuild images #70099

@tejlmand

Description

@tejlmand

Sysbuild provides the ability to build multiple images which is especially useful for building for multi-core SoCs.

However, the different images are generally not aware of settings from other images which may be problematic in certain cases.

For example, a bluetooth sample would require a bluetooth controller.
On a single core SoC, the bluetooth controller and host usually resides in the same image, but on a board with multiple SoC or a multi-core SoC, the controller may be compiled into an image different from the image with the bluetooth host.

To remove a requirement for images to explicitly know what other images are included in the build, then it should be possible for an image to specify that a given feature is available then it must be possible for an image to specify requirements and other images can then provide information on capabilities.

For example:

  • imageA requires bluetooth controller
  • imageB has bluetooth controller capability

This allows imageB to be either a bluetooth only controller or a multi-protocol controller, where bluetooth is just one supported protocol.

Sysbuild can still provide a default image (such as HCI_IPC`) but allow users to select another image, as long as such image provides the required bluetooth controller functionality.

If an image requires certain capabilities and no image provides the required feature, then sysbuild should fail the build with a proper error and inform the user about missing requirement(s).

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions