Skip to content

Automotive Image Builder manifests

The Automotive SIG maintains two collections of automotive-image-builder manifests that you can use to better understand the requisite YAML syntax, and for you to build and modify yourself:

  • The sig-docs/demos which includes all the manifests present in this documentation site. These images are built and tested nightly, and when changes are merged to Automotive Image Builder itself.
  • The sample-images repo, which includes a small set of basic starter manifests (such as developer.aib.yml, minimal.aib.yml, and qm.aib.yml). These lightweight manifests are a good starting point; for tested, feature-rich examples, see sig-docs/demos.

mpp.yml vs aib.yml

Automotive Image Builder manifests use the .aib.yml file extension. This is a simplified format with a limited and clearly defined set of capabilities documented at Automotive Image Builder manifest format. It is the format used throughout this documentation and in all current sample manifests.

You may encounter references to .mpp.yml files in older documentation or third-party guides. This was the first-generation manifest which was complex and cumbersome to edit manually. The .mpp.yml format has been fully replaced by .aib.yml and is no longer present in the sample-images repository.

Tuning options in the manifest

An Automotive Image Builder manifest specifies the build configuration of your image. To create an immutable AutoSD OS image, you must define configurable options exclusively in your manifest file.

The simple manifest schema is the authoritative reference that lists the configuration details of all tunable options. If an option does not appear in the schema, then its value is constant and cannot be changed in a manifest.

Manifest sections at a glance

An .aib.yml manifest contains the following top-level sections. For detailed usage and examples, see Creating a custom manifest.

  • name (required) – The name of the manifest. Every manifest must include a name.
  • version (optional) – The image version string. When set, Automotive Image Builder uses the value as the OS version in the OSTree commit and writes it to /etc/build-info as IMAGE_VERSION.
  • target (optional) – The default hardware target for the build. Overridden by the --target command-line option.
  • content (optional) – Defines the image content, including RPM packages (rpms), additional dnf repositories (repos), predefined repository activation (enable_repos), files, container images (with multi-architecture manifest-list support via container_images[].index), symbolic links, file permissions, and systemd service configuration. See Manipulating content and files for details.
  • auth (optional) – Configures users, groups, SSH keys, and the root password. User accounts support force_password_reset and expiredate options for temporary or security-sensitive accounts. See Authentication and users for details.
  • kernel (optional) – Kernel options including extra command-line parameters, custom kernel packages, and module removal. See Kernel options for details.
  • image (optional) – Global image options including total image size, sealed mode, SELinux configuration, configurable boot checks, disk partition sizing (image.partitions), hostname (image.hostname), and OSTree ref override (image.ostree_ref). See Image and SELinux configuration and Partition options for details.
  • qm (optional) – Defines the QM partition content and resource limits for non-critical workloads. The qm.content section accepts the same options as the top-level content section. Additional QM-specific options include memory_limit (systemd MemoryMax and MemoryHigh), cpu_weight (systemd CPUWeight, 1–100 or "idle"), and container_checksum (optional container digest validated at boot).
  • network (optional) – Network configuration, either dynamic (default, using NetworkManager) or static with a fixed IP address. See Network configuration for details.
  • experimental (optional) – Internal options that are unsupported and may change without warning. Not intended for user consumption.

© Red Hat