Support TPM2 operations on scarthgap, add clevis to feeds, export OVMF Firmware.#957
Merged
chaitu236 merged 14 commits intoni:nilrt/master/scarthgapfrom Mar 26, 2026
Merged
Conversation
3 tasks
4 tasks
8cded94 to
e0592b8
Compare
chaitu236
requested changes
Mar 3, 2026
Signed-off-by: Can Wong <can.wong@emerson.com>
PXIs and other x86_64 devices may be populated with TPM2 compatible TPMs. Add 'tpm2' to the MACHINE_FEATURES so that recipes which use that value to determine configured functionality are aware. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
Syntax and styling changes to the file. Clean up and sort GRUB_BUILDIN. Expand grub-mkimage arguments for clarity. No intentional functional changes. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
Build in the 'tpm' module so that our GRUB config can use the TPM to store measured bootloader component hashes. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
The grub-efi recipe compiles just fine without warning suppression, so remove this workaround. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
Direct GRUB to measure the kernel boot stages and record them to PCR registers 8 and 9 by setting the `measure_on` setting. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
The JOSE (Javascript Object Signing and Encryption) library is used by Clevis as a data serialization format. It is maintained by LatchSet, the same organization that maintains Clevis. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
The luksmeta library provides utilities for interacting with LUKSv1 headers. It is used as by Clevis when building with luks support. It is maintained by LatchSet - the same organization which owns Clevis. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
Clevis is a pluggable framework for automated decryption. It can be used to provide automated decryption of data or even automated unlocking of LUKS volumes. Add a recipe for it at the latest release (v21) for use by NILRT measured boot, to store LUKS decryption keys in the TPM. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
Add the Clevis utility to NILRT x64, for use in measured boot (disk encryption) workflows. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
The sescurityfs is a kernel virtual filesystem that provides access to security devices like TPMs. Mount it to the sysfs so that it can be used to read TPM events. Signed-off-by: Alex Stewart <alex.stewart@emerson.com>
Signed-off-by: Alex Stewart <alex.stewart@ni.com>
e0592b8 to
ec75556
Compare
Contributor
Author
Patch v2
|
chaitu236
requested changes
Mar 25, 2026
Contributor
chaitu236
left a comment
There was a problem hiding this comment.
Did we test tha desirable pkggrp builds?
4 tasks
The dracut dependency gives clevis an overall dependency on a large number of kernel module packages, so that it can include them in initramfses. We don't use dracut or a mutable initramfs on NILRT, so these are unnecessary dependencies. Remove the dracut PACKAGECONFIG. Signed-off-by: Alex Stewart <alex.stewart@ni.com>
Signed-off-by: Alex Stewart <alex.stewart@ni.com>
Contributor
Author
Patch v3
Testing
|
Contributor
Author
|
Extended Validation. Reconfirmed that setting |
chaitu236
approved these changes
Mar 26, 2026
Contributor
|
Cherry-picked all commits to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
This PR backports commits from #977 to effectively add Clevis to scarthgap.
/sys/kernel/security(the usual place.)tpm2to the x64 MACHINEFEATURES, so that supporting recipes will know to build with that support included. See OE-core #190.joseandluksmetaandclevis. The former are dependencies and the latter is a utility to write PCR policies to TPMs. Some NILRT users have had good luck using clevis to implement their own version of measured boot on custom designs.Justification
Some NILRT users have used clevis to implement their own form of measured boot. Though we do not intend to officially support that design on the scarthgap mainline, we can at least add official builds of the tools to enable expert customers.
Testing
bitbake packagefeed-ni-core)Testing on VM w/ TPM
Testing on VM w/o TPM
Procedure