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

kernel: add driver support for aws variants in hybrid environments #2554

Merged

Conversation

markusboehme
Copy link
Member

Issue number: n/a

Description of changes: Add driver support for using aws variants in hybrid environments. In particular, add support for booting from IDE/ATA devices and 5th generation Mellanox NICs.

Testing done: I collected kernel config diffs using tools/diff-kernel-config, build-testing relevant configurations. This is the overview:

config-aarch64-5.10-aws-k8s-1.23-diff:    0 removed,   0 added,   1 changed
config-aarch64-5.15-aws-dev-diff:         0 removed,  22 added,   9 changed
config-aarch64-5.15-metal-dev-diff:       0 removed,   0 added,   0 changed
config-x86_64-5.10-aws-k8s-1.23-diff:     0 removed,  16 added,   8 changed
config-x86_64-5.10-metal-k8s-1.23-diff:   0 removed,   0 added,   0 changed
config-x86_64-5.15-aws-dev-diff:          0 removed,  20 added,   9 changed
config-x86_64-5.15-metal-dev-diff:        0 removed,   0 added,   0 changed

Note that as expected only aws variants have their config changed. You can find a full config diff in this gist. Interesting to see that the 5.10 kernel for aarch64 almost had the desired configuration already. Feature selection for the mlx5 driver mirrors the existing configuration for metal variants.

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

Copy link
Contributor

@zmrow zmrow left a comment

Choose a reason for hiding this comment

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

🌃

@@ -0,0 +1,6 @@
# Support boot from IDE disks
CONFIG_ATA=y
CONFIG_ATA_GENERIC=y
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we want the generic driver? We do not ship it with the metal variants.
If we actually want it, we probably also want it on metal.

Copy link
Member Author

Choose a reason for hiding this comment

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

On a second look, indeed, this won't be needed. I'll drop it in the next revision.

Relevant code to boot from IDE disks needs to be built-in, not a module,
as without disk drivers the kernel cannot load any modules. SCSI code
needs to be pulled in since libata treats IDE disks as a SCSI device.

Signed-off-by: Markus Boehme <[email protected]>
@markusboehme
Copy link
Member Author

Dropped CONFIG_ATA_GENERIC for 2nd revision.

Refreshed summary of kernel config changes:

config-aarch64-5.10-aws-k8s-1.23-diff:    0 removed,   0 added,   0 changed
config-aarch64-5.15-aws-dev-diff:         0 removed,  22 added,   8 changed
config-aarch64-5.15-metal-dev-diff:       0 removed,   0 added,   0 changed
config-x86_64-5.10-aws-k8s-1.23-diff:     0 removed,  16 added,   7 changed
config-x86_64-5.10-metal-k8s-1.23-diff:   0 removed,   0 added,   0 changed
config-x86_64-5.15-aws-dev-diff:          0 removed,  20 added,   8 changed
config-x86_64-5.15-metal-dev-diff:        0 removed,   0 added,   0 changed

The full diff of changes can be seen in this gist.

@markusboehme markusboehme merged commit 85dcf0c into bottlerocket-os:develop Nov 9, 2022
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.

5 participants