import OL

This commit is contained in:
eabdullin 2025-08-15 17:05:54 +03:00
parent 8d091c5eb1
commit 2c10ec7b45
11 changed files with 446 additions and 2 deletions

View File

@ -0,0 +1,38 @@
From 1d40ea3a186c65e009f8cca775e6bb07c39fd80f Mon Sep 17 00:00:00 2001
From: Lichen Liu <lichliu@redhat.com>
Date: Tue, 27 May 2025 14:04:36 +0800
Subject: [PATCH] mkdumprd: replace lz4hc with lzma for better compression in
squash image
Among the compression algorithms currently enabled in RHEL-10,
erofs+lzma has a higher compression ratio than lz4hc, this patch
will replace it with lzma.
Testing shows when using erofs+lz4hc in RHEL-10, the size of the
initramfs generated for local dump is 47M, and the size for nfs
dump is 57M. After using lzma, the size is reduced to 39M and 45M.
This is very closely compared to the 38M and 44M when using
squashfs+zstd.
Signed-off-by: Lichen Liu <lichliu@redhat.com>
Signed-off-by: Alan Steinberg <alan.steinberg@oracle.com>
---
mkdumprd | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdumprd b/mkdumprd
index 5b6daaa..6881d8a 100644
--- a/mkdumprd
+++ b/mkdumprd
@@ -404,7 +404,7 @@ if ! have_compression_in_dracut_args; then
dracut_args+=(--squash-compressor zstd)
elif has_dracut_module squash-erofs && has_command mkfs.erofs; then
dracut_args+=(--add squash-erofs)
- dracut_args+=(--squash-compressor lz4hc)
+ dracut_args+=(--squash-compressor lzma)
elif has_command mksquashfs; then
# only true for dracut <= 103
dracut_args+=(--add squash)
--
2.43.5

View File

@ -1,8 +1,18 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 11;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
# kdump-utils has no debug source
%global debug_package %{nil}
Name: kdump-utils
Version:1.0.51
Release: %autorelease -b 1
Release: %autorelease -b 1 -e 0.1
Summary: Kernel crash dump collection utilities
License: GPL-2.0-only
@ -14,6 +24,7 @@ Patch03: 0003-99-kdump.conf-Omit-hwdb-dracut-module.patch
Patch04: 0004-Check-proc-sys-crypto-fips_enabled-to-tell-if-FIPS-h.patch
Patch05: 0005-kdump-lib.sh-Adjust-default-crashkernel-reservation-.patch
Patch06: 0006-kdump-lib.sh-Fix-all-1G-boundry-to-2G.patch
Patch07: 0007-mkdumprd-replace-lz4hc-with-lzma-for-better-compress.patch
%ifarch ppc64 ppc64le
Requires(post): servicelog
@ -28,6 +39,7 @@ Requires: dracut-network >= 058
Requires: dracut-squash >= 058
Requires: ethtool
Requires: util-linux
Requires: virt-what
# Needed for UKI support
Recommends: binutils
Recommends: grubby
@ -38,6 +50,20 @@ BuildRequires: systemd-rpm-macros
%ifnarch s390x
Requires: systemd-udev%{?_isa}
%endif
#START INSERT
# Oracle patches
Patch1000: orabug30822387.kdumpctl-arm64-fast-boot.patch
Patch1001: orabug30832988.kdump.sysconfig.iommu_off.x86_64.aarch64.patch
Patch1002: orabug30928441.kdumpctl.no_timer_check.patch
Patch1003: orabug33822070-kdump-skip-lvm-private-devices.patch
Patch1004: orabug34663083-Update-UEK-reserved-sizes.patch
Patch1005: orabug35615400-handle-xen_netfront-in-dracut-module-setup.patch
Patch1006: orabug35982140.kdumpctl-check-for-fips.patch
Patch1007: orabug37737510-Do-not-include-squash-erofs-on-UEK-kernel.patch
Patch1008: orabug37867172.kdump.sysconfig.disable-transparent_hugepage-for-aarch64.patch
%description
kdump-utils is responsible for collecting the crash kernel dump. It builds and
loads the kdump initramfs so when a kernel crashes, the system will boot the
@ -126,4 +152,80 @@ fi
%doc supported-kdump-targets.txt
%changelog
%autochangelog
* Tue Aug 12 2025 Alan Steinberg <alan.steinberg@oracle.com> - 1.0.51-11.0.1
- Disable transparent_hugepage for aarch64 [Orabug: 37867172]
- Do not use squash-erofs on UEK kernels [Orabug: 37737510]
- Port OL9 patches to OL10 [Orabug: 37600072]
arm64: skip memory integrity checks in purgatory [Orabug: 30822387]
disable iommu for kdump [Orabug: 30832988]
append no_timer_check for xen guest kdump [Orabug: 30928441]
kdump: Skip LVM private devices [Orabug: 33822070]
Update UEK reserved sizes [Orabug: 34663083]
handle xen_netfront in dracut module setup [Orabug: 35615400]
kdumpctl: check if FIPS is enabled [Orabug: 35982140]
- Include support for virt-what [Orabug: 36517679]
## START: Generated by rpmautospec
* Mon Aug 11 2025 Alan Steinberg <alan.steinberg@oracle.com> - 1.0.51-11
- mkdumprd: replace lz4hc with lzma for better compression in squash image
* Thu Mar 06 2025 Coiby Xu <coxu@redhat.com> - 1.0.51-10
- kdump-lib.sh: Fix all 1G boundry to 2G
* Thu Mar 06 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-9
- Bump release for RHEL-75539
* Thu Mar 06 2025 Coiby Xu <coxu@redhat.com> - 1.0.51-8
- kdump-lib.sh: Adjust default crashkernel reservation for x86_64 and s390x
* Thu Mar 06 2025 Coiby Xu <coxu@redhat.com> - 1.0.51-7
- Check /proc/sys/crypto/fips_enabled to tell if FIPS has been enabled
* Tue Feb 11 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-6
- Let %%post scriptlet always exit successfully
* Tue Jan 21 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-5
- 99-kdump.conf: Omit hwdb dracut module
* Tue Jan 21 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-4
- 99-kdump.conf: Omit nouveau and amdgpu module
* Mon Jan 13 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-3
- Release kdump-utils-1.0.51-3
* Mon Jan 13 2025 Pingfan Liu <piliu@redhat.com> - 1.0.51-2
- powerpc: fix early exit from udev on hotplug event for fadump
* Wed Dec 11 2024 Lichen Liu <lichliu@redhat.com> - 1.0.51-1
- Rebase to upstream 1.0.51
* Fri Nov 15 2024 Philipp Rudo <prudo@redhat.com> - 1.0.45-5
- Allow ssh opts to be processed correctly
* Fri Nov 01 2024 Coiby Xu <coxu@redhat.com> - 1.0.45-4
- Set up crashkernel value for osbuild
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.0.45-3
- Bump release for October 2024 mass rebuild:
* Sun Oct 20 2024 Tao Liu <ltao@redhat.com> - 1.0.45-2
- Return the correct exit code of rebuild initrd
* Fri Oct 11 2024 Lichen Liu <lichliu@redhat.com> - 1.0.45-1
- Rebase to upstream v1.0.45
* Mon Sep 30 2024 Lichen Liu <lichliu@redhat.com> - 1.0.43-3
- Release 1.0.43-2
* Fri Sep 27 2024 Philipp Rudo <prudo@redhat.com> - 1.0.43-2
- Enable erofs support for the kdump initrd
* Mon Jul 15 2024 Lichen Liu <lichliu@redhat.com> - 1.0.43-1
- Release 1.0.43-1
* Wed Jul 10 2024 Lichen Liu <lichliu@redhat.com> - 1.0.42-2
- Enable gating test
* Wed Jul 10 2024 Lichen Liu <lichliu@redhat.com> - 1.0.42-1
- Initial import for CentOS Stream 10
## END: Generated by rpmautospec

View File

@ -0,0 +1,29 @@
[PATCH] arm64: skip memory integrity checks in purgatory
This takes place with caches disabled and can be very slow on arm64.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Patch migrated from ol8 to ol9 without any modification
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Patch ported from ol9 to ol10.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
---
--- kdump-utils-1.0.51/kdumpctl.orig 2025-02-10 17:50:58.734852696 -0500
+++ kdump-utils-1.0.51/kdumpctl 2025-02-10 17:51:04.281868968 -0500
@@ -705,6 +705,12 @@ load_kdump()
local uki
local -a args
+ # arm64: skip memory integrity checks in purgatory
+ if [ "$ARCH" == "aarch64" ]
+ then
+ KEXEC_ARGS="$KEXEC_ARGS --no-checks"
+ fi
+
if is_uki "$KDUMP_KERNEL"; then
uki=$KDUMP_KERNEL
KDUMP_KERNEL=$KDUMP_TMPDIR/vmlinuz

View File

@ -0,0 +1,29 @@
[PATCH] disable iommu for kdump
Orabug: 30832988
Patch ported from ol9 to ol10.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
------
--- kdump-utils-1.0.51/gen-kdump-sysconfig.sh.orig 2025-02-10 19:10:32.000761572 -0500
+++ kdump-utils-1.0.51/gen-kdump-sysconfig.sh 2025-02-10 19:14:06.539386215 -0500
@@ -82,7 +82,7 @@ case "$1" in
aarch64)
update_param KEXEC_ARGS "-s"
update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd cma=0 hugetlb_cma=0"
+ "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd cma=0 hugetlb_cma=0 iommu=off"
;;
i386)
update_param KDUMP_COMMANDLINE_APPEND \
@@ -114,7 +114,7 @@ s390x)
x86_64)
update_param KEXEC_ARGS "-s"
update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 acpi_no_memhotplug transparent_hugepage=never nokaslr hest_disable novmcoredd cma=0 hugetlb_cma=0 pcie_ports=compat"
+ "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 acpi_no_memhotplug transparent_hugepage=never nokaslr hest_disable novmcoredd cma=0 hugetlb_cma=0 pcie_ports=compat iommu=off"
;;
*)
echo "Warning: Unknown architecture '$1', using default sysconfig template." >&2

View File

@ -0,0 +1,28 @@
[PATCH] append no_timer_check for xen guest kdump
Withour this a panic is triggered on xen guest using sysrq, vmcore not gets
generated/copied and
system panics after triggering crash with this msg.
"Kernel panic - not syncing: IO-APIC + timer doesn't work"
Orabug: 30928441
Patch ported from ol9 to ol10.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
----
--- kdump-utils-1.0.51/kdumpctl.orig 2025-02-10 19:22:09.802793276 -0500
+++ kdump-utils-1.0.51/kdumpctl 2025-02-10 19:24:15.585159500 -0500
@@ -54,6 +54,11 @@ trap '
exit $ret;
' EXIT
+# append no_timer_check for xen guest kdump
+if [ "$ARCH" == "x86_64" ] && $(virt-what |grep -qE "^xen$|^xen-domU$|^xen-hvm$"); then
+ KDUMP_COMMANDLINE_APPEND="${KDUMP_COMMANDLINE_APPEND} no_timer_check"
+fi
+
_get_dracut_arg()
{
local shortopt longopt n tmp

View File

@ -0,0 +1,44 @@
[PATCH] kdump: Skip LVM private devices
Orabug: 33822070
Orabug: 33574003
As per the commit 20e1c3dc0339 ("libblkid: ignore private LVM devices") in
util-linux, the virtual private LVM devices do not contain any blkid relevant data
and it does not make any sense to scan for superblocks or partitions
on the devices.
The blkid command is expected to fail if it is run on these LVM devices. This
change skips the scanning of LVM private metadata devices when scanning for
underlying crypt devices.
Signed-off-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Signed-off-by: John Donnelly <john.p.donnelly@oracle.com>
Ported from ol9 to OL10.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
kdump-lib.sh | 7 +++++++
1 file changed, 7 insertions(+)
--- kdump-utils-1.0.51/kdump-lib.sh.orig 2025-02-10 19:36:17.935262669 -0500
+++ kdump-utils-1.0.51/kdump-lib.sh 2025-02-10 19:39:05.092749358 -0500
@@ -1068,6 +1068,13 @@ get_luks_crypt_dev()
[[ -b /dev/block/$1 ]] || return 1
+ # blkid will fail if it is run on a LVM private. Make sure blkid succeeds before proceeding.
+ blkid -u filesystem,crypto -o export -- /dev/block/$1 > /dev/null
+ if [ $? -ne 0 ]
+ then
+ return 1
+ fi
+
_type=$(blkid -u filesystem,crypto -o export -- "/dev/block/$1" | \
sed -n -E "s/^TYPE=(.*)$/\1/p")
[[ $_type == "crypto_LUKS" ]] && echo "$1"
--
2.31.1

View File

@ -0,0 +1,44 @@
From 7cb21e46ad49274efc5aea92b593debd32aa4ff8 Mon Sep 17 00:00:00 2001
From: Darren Archibald <darren.archibald@oracle.com>
Date: Tue, 5 Mar 2024 07:33:47 -0800
Subject: [PATCH] Update UEK reserved sizes
Orabug: 34240246
Orabug: 34391412
Orabug: 34663083
Set the proper default reservations we need for UEK for both x86_64 and aarch64.
Signed-off-by: John Donnelly <john.p.donnelly@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
Ported from OL9 to OL10
Signed-off-by: Brian Maly <brian.maly@oracle.com>
---
kdump-lib.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kdump-lib.sh b/kdump-lib.sh
index eeb9e42..bbbb053 100755
--- a/kdump-lib.sh
+++ b/kdump-lib.sh
@@ -1005,13 +1005,13 @@ kdump_get_arch_recommend_crashkernel()
_arch=$(uname -m)
if [[ $_arch == "x86_64" ]] || [[ $_arch == "s390x" ]]; then
- _ck_cmdline="2G-64G:256M,64G-:512M"
+ _ck_cmdline="1G-64G:448M,64G-:512M"
is_sme_or_sev_active && ((_delta += 64))
elif [[ $_arch == "aarch64" ]]; then
local _running_kernel
# Base line for 4K variant kernel. The formula is based on x86 plus extra = 64M
- _ck_cmdline="2G-4G:256M,4G-64G:320M,64G-:576M"
+ _ck_cmdline="2G-8G:256M,8G-:1G"
if [[ -z "$2" ]]; then
_running_kernel=$(_get_kdump_kernel_version)
else
--
2.43.5

View File

@ -0,0 +1,33 @@
From 145a0700a663df7c418bd5a7ba93a7ed484898f7 Mon Sep 17 00:00:00 2001
From: Brian Maly <brian.maly@oracle.com>
Date: Mon, 2 Oct 2023 17:54:29 -0400
Subject: [PATCH] handle xen_netfront in dracut module setup
Ethtool doest return the proper name of the Xen virtual network driver,
so instead use the correct module name for kdump_install_nic_driver().
Withtout this fix vmcore dump over NFS will fail because the xen_netback
module will not be included in the kdump initrd leaving us with no
fuctional networking in the kdump environment.
Orabug: 35615400
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Ported from OL9 to OL10.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
--- kdump-utils-1.0.51/dracut/99kdumpbase/module-setup.sh.orig 2025-02-10 19:55:15.852575786 -0500
+++ kdump-utils-1.0.51/dracut/99kdumpbase/module-setup.sh 2025-02-10 19:56:26.004780040 -0500
@@ -406,6 +406,9 @@ kdump_install_nic_driver() {
# https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-overview
# Install the driver of physical NIC as well
_drivers+=("$(_get_hpyerv_physical_driver "$_netif")")
+ elif [[ $_driver == "vif" ]]; then
+ # ethtool doest return the proper name the Xen virtual network driver
+ _driver=xen_netfront
fi
_drivers+=("$_driver")
--
2.27.0

View File

@ -0,0 +1,27 @@
[PATCH] kdumpctl: check if FIPS is enabled
Orabug: 35982140
Add a check for FIPS to check_files_modified() so that FIPS support is included
in the kdump image. Without this kdump fails with the following error:
"FATAL FIPS SELFTEST FAILURE" error
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Ported from OL9 to OL10.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
--- kdump-utils-1.0.51/kdumpctl.orig 2025-02-10 20:02:04.696766163 -0500
+++ kdump-utils-1.0.51/kdumpctl 2025-02-10 20:03:09.513954882 -0500
@@ -473,6 +473,11 @@ check_files_modified()
done
fi
+ # Check for FIPS
+ if fips-mode-setup --is-enabled 2> /dev/null; then
+ files="$files /etc/system-fips"
+ fi
+
# HOOKS is mandatory and need to check the modification time
files="$files $HOOKS"
is_lvm2_thinp_dump_target && files="$files $LVM_CONF"

View File

@ -0,0 +1,48 @@
From 26f31de5557456e10f49b1e4d480cf53b6865ec0 Mon Sep 17 00:00:00 2001
From: Alex Burmashev <alexander.burmashev@oracle.com>
Date: Fri, 21 Mar 2025 11:09:53 +0000
Subject: [PATCH] Do not include squash-erofs on UEK kernel
UEK kernel does not have erofs kernel module enabled.
Orabug: 37737510
Signed-off-by: Alex Burmashev <alexander.burmashev@oracle.com>
---
mkdumprd | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/mkdumprd b/mkdumprd
index 96bd5f3..0e41ee0 100644
--- a/mkdumprd
+++ b/mkdumprd
@@ -52,6 +52,17 @@ trap '
# clean up after ourselves no matter how we die.
trap 'exit 1;' SIGINT
+# check if currently booted kernel is not UEK
+is_not_UEK()
+{
+ if $(uname -a |grep -q uek); then
+ return 1
+
+ else
+ return 0
+ fi
+}
+
# check whether the given dracut module is installed. If multiple modules are
# provided return true if any of them is installed.
has_dracut_module()
@@ -400,7 +411,7 @@ if ! have_compression_in_dracut_args; then
if has_dracut_module squash-squashfs && has_command mksquashfs; then
dracut_args+=(--add squash-squashfs)
dracut_args+=(--squash-compressor zstd)
- elif has_dracut_module squash-erofs && has_command mkfs.erofs; then
+ elif has_dracut_module squash-erofs && has_command mkfs.erofs && is_not_UEK; then
dracut_args+=(--add squash-erofs)
dracut_args+=(--squash-compressor lzma)
elif has_command mksquashfs; then
--
2.47.1

View File

@ -0,0 +1,22 @@
Disable transparent_hugepage for aarch64
Orabug: 37867172
Set transparent_hugepage=never for aarch64, otherwise we hit
allocation failures when loading some modules or when trying
to mount NFS in the kdump environment.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
--- kdump-utils-1.0.51/gen-kdump-sysconfig.sh.orig 2025-04-23 13:04:21.312588655 -0400
+++ kdump-utils-1.0.51/gen-kdump-sysconfig.sh 2025-04-23 13:05:01.494687926 -0400
@@ -82,7 +82,7 @@ case "$1" in
aarch64)
update_param KEXEC_ARGS "-s"
update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd cma=0 hugetlb_cma=0 iommu=off"
+ "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce transparent_hugepage=never novmcoredd cma=0 hugetlb_cma=0 iommu=off"
;;
i386)
update_param KDUMP_COMMANDLINE_APPEND \