Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

example/centos: edge-raw for x86_64 #245

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

achilleas-k
Copy link
Member

This addition has a few issues:

See individual commit messages and comments for more info.

Draft until new external lands.

For reasons that will become apparent very soon, we need different
configs based on image type.
Image types that build ostree images and installers need an ostree repo
URL to pull the ostree commit from.  Set this in the generator config
based on the image type name.
Imported from image definitions using the `gen-image-def` tool.
This is a direct copy of the import image definition with the bare
minimum otk directives added to make it valid.
The image pipeline for other image types contains a call to the
partition stage generators.  However, the partition table generator does
not yet support LUKS containers, so we can't use it to generate the
partition table for the edge-raw-image.

Another alternative would be to import the full description of the
partition table as it would be generated when we get support, by
serialising the base PT of the edge-raw-image.  This would allow us to
use the stage generators of the standard image pipeline with a
hard-coded LUKS+LVM partition table description.  However, that requires
defining:

```
otk.define:
  filesystem:
    tree:
      const:
        filename: disk.img
        internal:
          partition-table:
            ...
```

and the key `partition-table` is not valid in otk.

Add note to the top of the file about LUKS support requirement.
Extract the pipeline into a separate file to be reusable.
Use the otk-resolve-ostree-commit external to resolve the commit ID for
the edge-raw-image.

Replace all instances of the ref and URL with the values from the
external.

Note that the input references to the org.osbuild.ostree.pull stage need
to be objects keyed by the commit ID, which is a variable.  We don't
support using variables for object keys (yet).  Added a note in the yaml
file to indicate this.
Use the ostree source generator.
Add note about the LUKS UUID that it will be generated by the partition
table and adjusted accordingly.
@supakeen supakeen changed the title Add centos-9 x86_64 edge-raw-image example/centos: edge-raw for x86_64 Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant