RHEL-kernel-ark/redhat/configs
Patrick Talbert 69b091a2e2 Merge branch 'configs/os-build/2025-01-30/fs/fuse' into 'os-build'
[redhat] New configs in fs/fuse

See merge request cki-project/kernel-ark!3664
2025-02-28 11:35:50 +00:00
..
common Merge branch 'module-compress-xz' into 'os-build' 2025-02-25 07:29:38 +00:00
custom-overrides
fedora redhat/configs: Enable Mediatek Bluetooth USB drivers 2025-02-19 13:19:22 +01:00
pending-common
pending-fedora/generic fedora: pending: drop USB_ONBOARD_DEV_USB5744 2025-02-15 13:11:59 +00:00
pending-rhel Merge branch 'configs/os-build/2025-01-30/fs/fuse' into 'os-build' 2025-02-28 11:35:50 +00:00
rhel Merge branch 'configs/os-build/2025-01-30/fs/fuse' into 'os-build' 2025-02-28 11:35:50 +00:00
.gitignore
README
README.evaluate_configs
build_configs.sh
config_layout
evaluate_configs
flavors
generate_all_configs.sh
merge.py
priority.common
priority.fedora
priority.rhel
priority.snip
process_configs.sh

README

kernel-ark CONFIG option scheme
-------------------------------

The kernel-ark repository contains both Fedora and rhel (aka "RHEL next")
CONFIGS.  This repository is constantly rebased as the upstream kernel releases
new kernel version. New configuration options are reviewed and set with each
release, typically during the -rc1 to -rc3 releases.

The kernel-ark configs are broken out into rhel, fedora, and common directories
in which each directory provides a heirarchical layout of the configs starting
with generic/CONFIG_* and debug/CONFIG_*, then generic/<arch>/CONFIG_* and
generic/<arch>/<variant>/CONFIG_*, debug/<arch>/CONFIG_*, etc.  Users should be
aware that it may not necessarily be the case that architecture support is
consistent between rhel and fedora.

The config options are merged and properly layered according to the priority.*
files in the same directory as this README to generate the final
kernel-$VERSION-<arch>-<variant>.config files we need for building the actual
kernels.  For example, the rhel variant priorities are found in priority.rhel,
and in the case of x86_64 architecture, the specific information required is,

ORDER=common rhel pending-rhel custom-overrides

and

x86_64=generic:generic-x86:generic-x86-x86_64

This indicates that for the x86_64 variant, the order that of inheritance would be:

custom-overrides/generic/x86/x86_64	(highest override priority)
custom-overrides/generic/x86
custom-overrides/generic
pending-rhel/generic/x86/x86_64
pending-rhel/generic/x86
pending-rhel/generic
rhel/generic/x86/x86_64
rhel/generic/x86
rhel/generic
common/generic/x86/x86_64
common/generic/x86
common/generic				(lowest override priority)

A text-based graphical representation of a specific CONFIG can be viewed
by using the evaluate_configs utility in this directory.

	ex) evaluate_configs -p priority.rhel -c CONFIG_PCI

Directory Layout
----------------

The configuration is broken down into several directories:

rhel - contains all configuration options that have been reviewed by kernel
developers for the rhel kernel.

common - contains all configuration options that are common between the fedora
and rhel directories.  In other words, these config settings apply to both
fedora and rhel.

custom-overrides - contains an empty set of the generic and debug arch-specific
directory tree. Any config option set here is applied last and therefore will
override anything set in the rhel, fedora, or pending directories.  This feature
was added to assist users executing custom builds to easily override a config
option without altering the standard directories. Users can even maintain their
own branch with a full set of custom configuration options that can be easily
be rebased on top of os-build without worrying about conflicts.

fedora - contains all configuration options that have been reviewed by kernel
developers for the fedora kernel.

pending-[rhel][common][fedora] - These directories contain configuration options
that have not yet been fully reviewed for inclusion for rhel, fedora, and both
(common) kernels.  Due to the rate at which kernel options come out, the kernel
maintainers cannot guarantee reviews of configs in these directories by the
time a build occurs.  In the interest of letting the build proceed for other
testing, configuration options are staged in these pending directories.

As pending-* configs are reviewed, they are moved into the matching non-pending
directory (ie, pending-rhel -> rhel, etc.) and it is expected that these
directories will be empty at branch time.

Config files can be populated using the pending-* directories by using the
"FLAVOR" Makefile variable; for example to build the fedora configs, users can
execute "make FLAVOR=fedora dist-commit-configs".