Following was done for the stock RHEL9 kernel configuration with the
source tarball **always** originating from kernel.org as the upstream:
```
cp ~/kernels/rhel/config-5.14.0-284.30.1.el9_2.aarch64 .config
make savedefconfig 2>&1 | tee ~/kernels/rhel/log.savedefconfig
cp defconfig ~/kernels/rhel/rhel.defconfig
grep --line-regexp --fixed-strings --invert-match --file arch/arm64/configs/defconfig ~/kernels/rhel/rhel.defconfig > ~/kernels/rhel/diff.config
cp ~/kernels/rhel/diff.config arch/arm64/configs/rhel.config
./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig arch/arm64/configs/rhel.config 2>&1 | tee ~/kernels/rhel/log.merge_config
cp .config ~/kernels/rhel/.config
```
TODO1:
find overrides by grepping for
`Value of CONFIG_* is redefined by fragment arch/arm64/configs/rhel.config:`
and remove them from config-aarch64
TODO2:
find missing configs by grepping for
`Value requested for CONFIG_* not in final .config`
and fix them
- Removed versions from file names.
- Add spec files that specify items that vary between kernel versions.
- Move the kernel-ml SPEC file as the file that gets included.
- Make the include file more "generic" such that a kernel can be built
with only version, package name and source0 specified.
- Do not `exit 1` on finding new options.
- Remove the '-s' that gets passed to the make macro to get "normally
verbose" build output.