Skip to content

Add PAYG early boot support#160

Merged
11 commits merged intomainfrom
sam/payg-uki
Oct 15, 2025
Merged

Add PAYG early boot support#160
11 commits merged intomainfrom
sam/payg-uki

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Oct 10, 2025

This depends on and includes #159.

In this PR:

  • Add -o payg project option, to disable PAYG elements by default
  • Add elements to build PAYG components (including private ones)
  • Add signing/payg/signed-uki-snakeoil.bst (this probably isn't very useful)
  • Mention PAYG images in the documentation.
  • Modify eos_sb_signer element plugin to allow selecting the cert to sign with
  • Figure out how to deal with the PAYG UKI install path depending on kernel version. (Probably we just move it into place later).
  • Add signing/payg/signed-uki-endless.bst element
  • Merge https://github.com/endlessm/eos-payg-nonfree/pull/131 and update its element
  • Push systemd rebase to official repo and update the its element
  • Update CI to enable -o payg true setting

Still to do:

  • Figure out how to stop dracut including coreutils and bash (Remove Bash and Coreutils from initramfs #100)
  • Test EOS7 PAYG images (which may require landing the branch to 'main' so we get a UKI signed with the official Endless PAYG key)

@ghost ghost mentioned this pull request Oct 13, 2025
@ghost ghost force-pushed the sam/payg-uki branch from 3d28991 to d50835a Compare October 13, 2025 22:13
@ghost ghost mentioned this pull request Oct 13, 2025
@ghost ghost force-pushed the sam/payg-uki branch 5 times, most recently from a6a3f2c to 134f959 Compare October 14, 2025 16:12
starnight and others added 4 commits October 14, 2025 18:11
eos-payg-nonfree's build depends on python module black.
The PAYG components include private code so we need to gate this behind
a flag.
Some of the Endless PAYG support is private, so this is gated
behind a project option that is off by default (`-o payg`) to
ensure eos-build-meta is still buildable by contributors outside of
Endless.

Changes based on:
<https://github.com/endlessm/eos-ostree-builder/blob/master/hooks/os/85-dracut-payg-image.chroot>

Part of #11
This is needed for PAYG which uses a special cert.
@ghost ghost force-pushed the sam/payg-uki branch from 134f959 to 622bc08 Compare October 14, 2025 17:11
@ghost ghost marked this pull request as ready for review October 14, 2025 17:11
@ghost ghost changed the title WIP: Add PAYG early boot support Add PAYG early boot support Oct 14, 2025
Copy link
Copy Markdown
Member

@dsd dsd left a comment

Choose a reason for hiding this comment

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

I assume the build failure will be checked. Looks good to me from a brief look!

Comment thread elements/eos/deps.bst Outdated
- payg == true:
depends:
(>):
- eos/payg/deps.bst
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Line 46 has already included eos/payg/deps.bst. Is it duplicated?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

yes! good spot

Sam Thursfield added 7 commits October 15, 2025 11:38
At least one patch to systemd-boot is essential for PAYG
support. (Which enables reading the `loaders/` folder via
a symlink in a text file -- necessary as OSTree requires
some sort of symlink support to deploy the boot config,
even on the ESP which is a FAT filesystem).

See: #161
This involves a new token so the runner can clone private repos.
So we can see error messages
This helps if e.g. you suspect there's a build failure due to a
bug in a particular BuildStream plugin, you update requirements.txt
and want to force a rebuild instead of using a cached build.
@ghost ghost force-pushed the sam/payg-uki branch from 9d484a0 to 29616c6 Compare October 15, 2025 10:38
@ghost ghost merged commit 1896c12 into main Oct 15, 2025
1 check passed
@ghost ghost deleted the sam/payg-uki branch October 15, 2025 12:38
This pull request was closed.
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