From: CKI Gitlab on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1833
NOTE: Truncated patchset due to missing public @redhat.com email
address on your GitLab profile at https://gitlab.com/-/profile.
Once that is fixed, close and reopen the merge request to
retrigger sending the emails.
As part of the ongoing rebase effort, the following configuration
options need to be reviewed.
As a reminder, the ARK configuration flow involves moving unreviewed
configuration options from the pending directory to the ark directory.
In the diff below, options are removed from the pending directory and
added to the ark hierarchy. The final options that need to be ACKed
are the files that are being added to the ark hierarchy.
If the value for a file that is added should be changed, please reply
with a better option.
Symbol: INITRAMFS_PRESERVE_MTIME [=y]
Type : bool
Defined at init/Kconfig:1351
Prompt: Preserve cpio archive mtimes in initramfs
-> General setup
Cc: Prarit Bhargava <prarit(a)redhat.com>
Cc: Aristeu Rozanski <arozansk(a)redhat.com>
Cc: Artem Savkov <asavkov(a)redhat.com>
Cc: Clark Williams <williams(a)redhat.com>
Cc: "Herton R. Krzesinski" <herton(a)redhat.com>
Cc: Jan Stancek <jstancek(a)redhat.com>
Cc: Josh Poimboeuf <jpoimboe(a)redhat.com>
Signed-off-by: Fedora Kernel Team <kernel-team(a)fedoraproject.org>
redhat/configs/ark/generic/CONFIG_INITRAMFS_PRESERVE_MTIME | 1 +
redhat/configs/pending-ark/generic/CONFIG_INITRAMFS_PRESERVE_MTIME | 11 ----------
2 files changed, 1 insertions(+), 11 deletions(-)
From: Prarit Bhargava <prarit(a)redhat.com>
redhat/configs/README: Update the README
The information in this file was a bit out-of-date and needed a refresh.
Update the README.
Signed-off-by: Prarit Bhargava <prarit(a)redhat.com>
diff --git a/redhat/configs/README b/redhat/configs/README
index blahblah..blahblah 100644
@@ -1,63 +1,84 @@
-Red Hat Enterprise Linux Always Ready config option scheme
+kernel-ark CONFIG option scheme
-Historically, the RHEL kernel is forked from a Fedora kernel.
-Today, the Always Ready Kernel (ARK) is constantly rebased as new kernel
-releases come out. New configuration options are reviewed and set
-with each release.
+The kernel-ark repository contains both Fedora and ark (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 config options are split out into a hierarchical
-tree structure, with one file per config option at each level of the
-hierarchy. The config options are merged and properly layered according to
-the file "priority" in the same directory as this README to generate the
-final kernel-$VERSION-<arch>-<variant>.config files we need for building the
+The kernel-ark configs are broken out into ark, 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 ark 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 ark variant priorities are found in priority.rhel,
+and in the case of x86_64 architecture, the specific information required is,
+ORDER=common ark pending-ark custom-overrides
+This indicates that for the x86_64 variant, the order that of inheritance would be:
+custom-overrides/generic/x86/x86_64 (highest override priority)
+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
The configuration is broken down into several directories:
-ark - This contains all configuration options that have been fully
-reviewed by kernel developers and are suitable for inclusion at branch time.
-pending-common - This directory contains all configuration options that have
-not yet been fully reviewed for inclusion. Because of the rate at which
-kernel options come out, we can't guarantee everything has been reviewed
-by the time a build needs to happen. In the interest of letting the build
-proceed for other testing, configuration options are staged in the
-pending directory. It is expected that this directory will be empty
-at branch time.
-In each directory (ark etc.), we have generic/CONFIG_* and debug/CONFIG_*, then
-generic/<arch>/CONFIG_* and generic/<arch>/<variant>/CONFIG_*, as well as
-debug/<arch>/CONFIG_*. While this may seem overly complex compared with
-past RHEL kernel config setups at first glance, its actually quite
-straight-forward and should be less error-prone. There's no potential
-for configuration options getting out of order or conflicts when changing
-adjacent configuraiton options.
-pending-fedora - This directory contains configuration options that have not
-been reviewed by Fedora kernel maintainers. Since the Fedora kernel turns on
-more configuration options than ARK, there are often settings that are not set
-to default in pending-common. These settings are moved to the fedora/
-configuration directory after community review. Options are populated with
-"make FLAVOR=fedora dist-commit-configs".
-custom-overrides - This directory 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 ark, fedora, or pending directories.
-This allows users 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.
-All the configuration options for each arch and variant can be found
-in the "priority" file.
-If you want to make a change that applies to all kernels, debug and
-non-debug alike, add a config option file under ark/generic/. If it should
-only apply to all debug kernels, add it under ark/debug/. Arch-specific
-options go under ark/generic/<arch>/ and so on. Each layer's individual config
-option files are concatenated together with all other options at the same
-level, then stacked atop the lower layers until reaching the highest
-precedence layer for the given config option.
-Send any questions, comments or concerns to rhkernel-list(a)redhat.com.
+ark - contains all configuration options that have been reviewed by kernel
+developers for the ark kernel.
+common - contains all configuration options that are common between the fedora
+and ark directories. In other words, these config settings apply to both
+fedora and ark.
+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 ark, 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-[ark][common][fedora] - These directories contain configuration options
+that have not yet been fully reviewed for inclusion for ark, 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-ark -> ark, etc.) and it is expected that these
+directories will be empty at branch time.
+ The config file 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".