Skip to content

New OpenSUSE OS: Add OpenSUSE Tumbleweed OS to verify SNP certification.#180

Draft
LakshmiSaiHarika wants to merge 10 commits into
AMDEPYC:mainfrom
LakshmiSaiHarika:add-opensuse-tumbleweed-os
Draft

New OpenSUSE OS: Add OpenSUSE Tumbleweed OS to verify SNP certification.#180
LakshmiSaiHarika wants to merge 10 commits into
AMDEPYC:mainfrom
LakshmiSaiHarika:add-opensuse-tumbleweed-os

Conversation

@LakshmiSaiHarika

Copy link
Copy Markdown
Contributor
  • Added OpenSuse Tumbleweed distribution to verify SNP certification process on this Opensuse distribution.
  • For the results, please take a look at my forked GH issue for the OpenSUSE Tumbleweed release here

@npmccallum

Copy link
Copy Markdown
Collaborator

We need to move to a fixed release. But we can't because Leap 16 isn't available in mkosi yet. See: systemd/mkosi#3994

Add host and guest image configurations for openSUSE Leap 16.0 with
required packages including kernel-default, systemd, qemu, and
development tools.

Signed-off-by: Harika Nittala <lnittala@amd.com>
Add systemd-conf module with combined status format to explicitly add
service name in the service description of journalctl message across all
linux distributions. This was added as a fix on opensuse-leap to get the host and guest service description as per the pattern defined in get_service_description.

Signed-off-by: Harika Nittala <lnittala@amd.com>
Bump ToolsTreeRelease from 42 to 44 and include the new systemd-conf
module in the common build configuration.

Signed-off-by: Harika Nittala <lnittala@amd.com>
Add opensuse-leap to the supported distributions in load-kernel-modules
and network-fix build scripts for proper module configuration and
resolv.conf handling.

Signed-off-by: Harika Nittala <lnittala@amd.com>
Add opensuse-leap package names for qemu and ovmf in host_os_package.py,
and add zypper package manager support in package_version.sh.

Signed-off-by: Harika Nittala <lnittala@amd.com>
Update apt sources to use Ubuntu resolute (26.04) for mkosi installation
in the CI workflow.

Signed-off-by: Harika Nittala <lnittala@amd.com>
Signed-off-by: Harika Nittala <lnittala@amd.com>
Start beacon-report.service after the sev-certificate.txt file is created.
The sev-certificate.txt is generated by the sev-certificate-generator.service.

beacon-report.service raises a `sev-certificate.txt` file not found error
when this service starts after display-guest-logs.service but before
sev-certificate-generator.service.

Signed-off-by: Harika Nittala <lnittala@amd.com>
@LakshmiSaiHarika

LakshmiSaiHarika commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Updating this PR with the OpenSUSE Leap Release, as Leap 16 is now available in mkosi v26.

@LakshmiSaiHarika LakshmiSaiHarika force-pushed the add-opensuse-tumbleweed-os branch from bcf88d4 to b1eb17d Compare June 9, 2026 21:30
@LakshmiSaiHarika

Copy link
Copy Markdown
Contributor Author

Please follow the description below for the updated PR changes:

  1. Updated the Ubuntu codename from plucky to resolute, since resolute provides mkosi v26 support.

  2. Upgraded FedoraToolsTreeRelease from 42 to 44 to ensure compatibility with the latest tool builds using mkosi v26.

  3. Added openSUSE Leap 16.0 mkosi configurations for both host and guest images.

  4. Configured the systemd status format module to use:
    StatusUnitFormat=combined
    This explicitly includes the service name in journalctl messages across all Linux distributions.
    This change was required specifically for openSUSE Leap, where the default format did not match the pattern expected by get_service_description, leading to parsing issues for both host and guest service descriptions.

  5. Added openSUSE Leap support to:

    • kernel module loading scripts
    • network-fix build scripts
  6. Added package mapping and package manager support for openSUSE Leap:

    • qemu -> qemu
    • ovmf → qemu-ovmf-x86_64
    • Added zypper package manager support
  7. Added openSUSE Leap support in the build and release GitHub workflows.

  8. Fixed report-done.service ordering issues where beacon-report.service could start before sev-certificate.txt was generated, causing intermittent "file not found" errors.

@@ -0,0 +1,2 @@
[Manager]
StatusUnitFormat=combined

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change was required specifically for openSUSE Leap, where the default format did not match the pattern expected by get_service_description (openSUSE didn't include the service name in its description), leading to parsing issues for both host and guest service descriptions.

Requires=display-guest-logs.service sev-certificate-generator.service
After=display-guest-logs.service sev-certificate-generator.service
Requires=sev-certificate-generator.service
After=sev-certificate-generator.service

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed report-done.service ordering issues where beacon-report.service could start before sev-certificate.txt was generated, causing intermittent "file not found" errors.

Image

@LakshmiSaiHarika LakshmiSaiHarika left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please refer to my comments for the detailed explanation of the few changes.

@LakshmiSaiHarika

Copy link
Copy Markdown
Contributor Author

Please refer to my sev-certify forked GH issues for the latest SEV certificates produced with this PR.
https://github.com/LakshmiSaiHarika/snpcert/issues

@LakshmiSaiHarika

Copy link
Copy Markdown
Contributor Author

SEV certification on OpenSUSE Leap fails due to the missing compatible AMDSEV-ovmf package support on OpenSUSE Leap.

I filed a bug report for the ovmf package in OpenSUSE portal to add support for AMDSEV-compatible guest firmware to calculate expected guest measurement:
https://bugzilla.opensuse.org/show_bug.cgi?id=1266809

python3-emoji
jq
avahi
KernelCommandLine="iommu=nopt"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To enable AMD SEV (Secure Encrypted Virtualization) in openSUSE Leap, I had to disable IOMMU passthrough to protect encrypted guest memory integrity as per the OpenSUSE 15 SP6 documentation:
https://documentation.suse.com/sles/15-SP6/html/SLES-all/cha-vm-security.html

@LakshmiSaiHarika LakshmiSaiHarika left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disable IOMMU passthrough on OpenSUSE host in the kernel command line parameter.

@LakshmiSaiHarika LakshmiSaiHarika marked this pull request as draft June 26, 2026 16:39
@LakshmiSaiHarika

Copy link
Copy Markdown
Contributor Author

This PR requires refactoring to use sev-verify tool on this OS Release

Signed-off-by: Harika Nittala <lnittala@amd.com>
…suse leap

Signed-off-by: Harika Nittala <lnittala@amd.com>
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.

2 participants