Deploying applications in the QM partition
The AutoSD architecture isolates quality managed (QM) applications from Automotive Safety Integrity Level (ASIL) applications. This isolation mechanism is the QM software partition. In this architecture, the QM partition is an imageless container that uses a subsection of the host filesystem as its root filesystem. This means that you must place your applications in one of two locations:
- Configure OSBuild to copy ASIL applications to
/etc/containers/systemd - Configure OSBuild to copy QM applications to
/etc/containers/systemdinside the QM software partition, which is mounted at/usr/lib/qm/. The resulting path for QM applications is/usr/lib/qm/etc/containers/systemd.
To configure the placement of applications in the QM partition, create a new qm stage in your manifest file, and configure
QM-specific operations in the QM partition.
Embedding RPM packages in the QM partition
Place all QM-level RPM packages in the QM partition. When you write your automotive image builder manifest, place all QM-specific operations
inside the qm stage.
Prerequisites
- A QM-level RPM package that you want to install. For example, the
auto-appsRPM that you created in Packaging sample application source code with RPM, or any RPM package available from a remote repository. - A custom manifest file, such as the file that you created in Embedding RPM packages in the AutoSD image
Procedure
-
To configure your custom automotive image builder manifest to install your
auto-appsapplication into the QM partition of the OS image, include theqmstage in your manifest file. Create acontentsection in the theqmstage and define the repository that you want to enable, as well as the RPM that you want to install:automotive image builder manifestqm:
content:
repos:
- id: auto-apps
baseurl: file:///var/tmp/my_repo
rpms:
- auto-apps
Next steps
Now that you have configured your custom automotive image builder manifest to initialize the QM partition and install your RPM package, you can build your AutoSD image. For more information, see Building an AutoSD image.
Embedding containerized applications in the QM partition
Place all QM-level containerized applications in the QM partition. When you write your automotive image builder manifest, place all
QM-specific operations inside the qm stage.
To configure your custom automotive image builder manifest to install one or more container images in the QM partition, include the
qm stage in your manifest file. Create a content section in the the qm stage and define the source URL, tag, and name of the
container image.
You can view a complete example manifest for QM container configuration in the demos/container_qm/container_qm.aib.yml file.
Prerequisites
-
One or more container images available from a local or remote registry.
!!! Note Installing container images from local storage is appropriate only for development and experimental purposes.
Procedure
-
Include the
qmstage in your manifest to initialize the QM partition. Addcontentandcontainer_imagessections to theqmstage so that you can define the container images that you want to install:automotive image builder manifest--8<-- "demos/container_qm/container_qm.aib.yml:19:31"!!! note To install a container image from local storage, set the
containers-transport: containers-storageparameter. -
Optional. If you have container configuration files that you want to copy to the image, use the
add_filessection within thecontentstage. For example, copy the exampleradio.containerandengine.containerfiles to the image:automotive image builder manifest--8<-- "demos/quadlet_radio_engine/quadlet_radio_engine.aib.yml:25:29"!!! note The
source_path:option resolves a relative path. In this example, the container configuration files are in the../demosdirectory.
Next steps
Now that you have included your containerized application in your automotive image builder manifest, you can build your AutoSD image. For more information, see Building an AutoSD image.