Skip to content

Tracker issue for automotive use of bootc #1316

Open
@alexlarsson

Description

@alexlarsson

This issue is intended to track the status of use of bootc in the automotive sig project. The initial goal is to use automotive-image-builder to produce OCI images in bootc format and then use bootc-image-builder to create physical images from them.

I have done some initial work in other modules:

But, further work needs to happen:

  • To use transient /etc, we need to pre-generate the mount files for e.g. /boot, and we need to extend the bootc install customization so that we can pass the uuids to bc-i-b to use for these partitions / filesystems.
  • We need a way to tell bc-i-b to not create its own copy of the various mount files. Maybe its enough to just detect the existance of pre-existing mount files to make it skip this.
  • We need the ability to tell bc-i-b to add custom partitions to the image. This is used for example for /var and /var/qm in automotive
  • We need to support aboot/ukiboot, which involves: not using grub, creating special partitions (boot_a, boot_b, etc) with special uuids, and writing files from the image to these partitions in bc-i-b. This may require integration work with bootupd.
    • Allow creating exact, detailed partition table, not just blueprint disk customization
    • Allow writing file from image to partition at deploy time (i.e. write /boot/aboot.img to the "aboot_a" partition)
  • I get (from rpm-ostree or osbuild) a var.mount that references /sysroot/ostree/deploy/$osname/var. If this $osname doesn't match what bc-i-b uses at deploy time this breaks. These need to be synchronized somehow.
  • We need to rethink how composefs signatures work because we can't sign the commit in a-i-b anymore, since the final commit will get a different hash.
  • bc-i-b seems to default to hybrid mode GPT, we want legacy-free.
  • bootc install to-filesystem reads various options from the build container (such as e.g. prepare-root.conf) which may not be the same as the target container in the automotive case.

This issue is for tracking, lets do the work on the individual things in separate issus.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriagedThis looks like a valid issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions