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

extended repo LVBS kernel #12064

Open
wants to merge 20 commits into
base: 3.0-dev
Choose a base branch
from
Open

Conversation

ddstreet
Copy link
Contributor

@ddstreet ddstreet commented Jan 24, 2025

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

This is early work to build a kernel in the extended repo that includes LVBS support.

Note that the accumulated LVBS patches will be rolled into a dedicated LVBS kernel tarball, instead of carrying them as individual patches like this PR. Please ignore the actual content of the LVBS patches, as that content will be reviewed/managed by a kernel git branch (and this PR shouldn't be merged until that is complete and this is updated to use the resulting LVBS kernel tarball); this PR is intended only for review of the spec file (and related) changes.

Change Log

Add spec file, etc. to enable building LVBS kernel in extended repo

Does this affect the toolchain?

NO

Test Methodology

WIP, no testing/validation yet

@ddstreet ddstreet requested a review from a team as a code owner January 24, 2025 17:36
@microsoft-github-policy-service microsoft-github-policy-service bot added Packaging specs-extended PR to fix SPECS-EXTENDED 3.0-dev PRs Destined for AzureLinux 3.0 labels Jan 24, 2025
@ddstreet ddstreet marked this pull request as draft January 24, 2025 17:37
@reubeno
Copy link
Member

reubeno commented Feb 3, 2025

Great to see the start of this, @ddstreet! I know we're mutually interested in seeing an LVBS-enabled kernel make its way into the extended repo.

Let us know when you're ready to start getting any early reviews/feedback on the PR. (I see it currently marked as WIP and draft.) I'm assuming @rlmenge, among others, will be keenly interested and have good suggestions.

@ddstreet ddstreet force-pushed the kernel-lvbs branch 4 times, most recently from e2da458 to 212006d Compare February 6, 2025 20:45

make mrproper

cp $CONFIG_FILE $KBUILD_OUTPUT/.config
Copy link
Contributor

Choose a reason for hiding this comment

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

Just checking but will this work since the lvbs_normal and lvbs_secure directories have not been created yet?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah, make mrproper will create the $KBUILD_OUTPUT dir

Copy link
Contributor

@rlmenge rlmenge left a comment

Choose a reason for hiding this comment

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

Commits were super easy to follow, thank you! The logic makes sense to me but would want to validate in an rpmbuild environment to be sure all the KBUILD_OUTPUTs are operating as expected.

From what I gather with the spec is that it builds both secure and normal lvbs using the patches listed in the "kernel-lvbs.patches" and setting KBUILD_OUTPUT respectively. It then also builds Microsoft/skloader and Microsoft/initrd-sk.cpio.

A lot of the clean up work looks good to me such as making the config check its own function and reordering the manipulation of the config. Would just want again ensure the function is called as expected.

Just need to also update License files and Manifests similar to kernel-rt and that will clear up the failing github checks

@ddstreet
Copy link
Contributor Author

Great to see the start of this, @ddstreet! I know we're mutually interested in seeing an LVBS-enabled kernel make its way into the extended repo.

Let us know when you're ready to start getting any early reviews/feedback on the PR. (I see it currently marked as WIP and draft.) I'm assuming @rlmenge, among others, will be keenly interested and have good suggestions.

Thanks! It should be ready for initial review; I'll fix the failing checks and then remove the wip/draft. However, it's not yet ready for merging as it does still need to change over to use the dedicated tarball instead of separate patches.

@ddstreet
Copy link
Contributor Author

Commits were super easy to follow, thank you! The logic makes sense to me but would want to validate in an rpmbuild environment to be sure all the KBUILD_OUTPUTs are operating as expected.

From what I gather with the spec is that it builds both secure and normal lvbs using the patches listed in the "kernel-lvbs.patches" and setting KBUILD_OUTPUT respectively. It then also builds Microsoft/skloader and Microsoft/initrd-sk.cpio.

yep, correct

A lot of the clean up work looks good to me such as making the config check its own function and reordering the manipulation of the config. Would just want again ensure the function is called as expected.

Just need to also update License files and Manifests similar to kernel-rt and that will clear up the failing github checks

thanks, will do this now

@ddstreet ddstreet changed the title WIP: extended repo LVBS kernel extended repo LVBS kernel Feb 10, 2025
@ddstreet ddstreet marked this pull request as ready for review February 10, 2025 18:33
@ddstreet ddstreet requested a review from a team as a code owner February 10, 2025 18:33
@ddstreet ddstreet force-pushed the kernel-lvbs branch 2 times, most recently from 5b42d01 to bc852ec Compare February 10, 2025 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0-dev PRs Destined for AzureLinux 3.0 Packaging specs-extended PR to fix SPECS-EXTENDED
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants