Skip to content

Conversation

fnerdman
Copy link
Contributor

This PR adds support for creating GCP VM images.

The previous setup defined 2 machines (tdx and sev-snp) plus one image (cvm-image-azure)
Over time a lot of things have been added, such that a lot of features had been added without feature flag, even though they're not needed, or added behind the wrong feature flag.
This refactor aims to resolve most of these issues by creating a clear machine, kernel and image configuration.
Machines created:
[ "tdx", "tdx-gcp", "tdx-qemu", "tdx-azure", "sev-snp-azure" ]

The machine configurations are simple and heavily lend from common include files, i.e. tdx-guest.inc

The cvm-image-azure was removed and replaced by .bbappending the default "core-image-minimal" and "core-image-tiny-initramfs"

Most of the kernel configuration was moved into the specific machine or distro configuration, creating a lean kernel config.

Debug tweaks are now again enabled by adding "debug-tweaks" to the EXTRA_IMAGE_FEATURES env var. this will automatically pick up the dropbear dependency.

This refactor will break stuff in other layers depending on this layer. As a next step, the goal is to refactor these layers as well and make them more conformant with yocto design principles as well.

What I haven't achieved is hide recipe based kernel configuration behind recipes, i.e. disk-encryption.scc should only be added to the kernel if disk-encryption is added as part of the image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant