Skip to content

[BUG] build-chunked-oci does not place initramfs in its own layerΒ #5544

@HastD

Description

@HastD

Describe the bug

When producing a chunked image with build-chunked-oci, the initramfs should be treated as an "exclusive component" and placed in its own layer. However, it's instead lumped in with "rpmostree-unpackaged-content".

The impact of this is that image updates almost always have to download the initramfs because of an unrelated change in some unpackaged file, even though the initramfs itself rarely changes if built with dracut --reproducible. This significantly increases update sizes: the initramfs is often on the order of hundreds of MB, even compressed, and the layer it's placed into is often by far the largest layer.

Reproduction steps

  1. Rechunk a bootc image with build-chunked-oci.
  2. Use a tool like skopeo inspect to look at the layer annotations.
  3. Observe that the initramfs is lumped in with "rpmostree-unpackaged-content".

Expected behavior

The initramfs should be placed in its own exclusive layer.

Actual behavior

The initramfs is placed into a layer with miscellaneous other unpackaged files.

System details

rpm-ostree:
 Version: '2025.12'
 Git: b8547377b9891229a9712d551f83342ddfcb642d
 Features:
  - rust
  - compose
  - container
  - fedora-integration

Additional information

This bug seems to be due to the initramfs incorrectly being treated as a package rather than a non-package component by build-chunked-oci. I have an open PR fixing this: #5535. I've tested it locally and it does look like it fixes this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions