Skip to content

Conversation

@bcressey
Copy link
Contributor

@bcressey bcressey commented May 1, 2024

Issue number:
Related: bottlerocket-os/bottlerocket#3932

Description of changes:
With conditional compilation being eliminated, it is no longer always the case that all of the modules built by the kernel package will be installed on all variants. For example, some network device drivers may be built as modules and only installed on bare metal variants, if the corresponding hardware is not expected to show up in virtualized environments.

This requires some care in packaging so that any module dependencies that are not provided by the kernel will be provided by other modules that are also installed. By regenerating module info at image build time, it's guaranteed to be present and correct, or otherwise the build will fail.

Testing done:
While testing the related pull request, I verified that modules in the new modules-metal package were not present in the regenerated modinfo.

I also verified that removing a dependency of a module resulted in a build failure. (depmod does not have an option to exit non-zero after emitting a warning, which is why rpm2img captures the output and inspects it with grep.)

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.

With conditional compilation being eliminated, it is no longer always
the case that all of the modules built by the kernel package will be
installed on all variants. For example, some network device drivers
may be built as modules and only installed on bare metal variants, if
the corresponding hardware is not expected to show up in virtualized
environments.

This requires some care in packaging so that any module dependencies
that are not provided by the kernel will be provided by other modules
that are also installed. By regenerating module info at image build
time, it's guaranteed to be present and correct, or otherwise the
build will fail.

Signed-off-by: Ben Cressey <bcressey@amazon.com>
@bcressey bcressey requested review from larvacea and yeazelm May 1, 2024 03:18
@webern webern mentioned this pull request May 7, 2024
5 tasks
Copy link
Contributor

@jmt-lab jmt-lab left a comment

Choose a reason for hiding this comment

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

LGTM

@bcressey bcressey merged commit 149fc91 into bottlerocket-os:develop May 22, 2024
@bcressey bcressey deleted the rpm2img-depmod branch May 22, 2024 00:49
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.

3 participants