import CS dracut-057-102.git20250818.el9
This commit is contained in:
parent
0bd7c8bbd2
commit
668cd5f0c0
241
SOURCES/0087.patch
Normal file
241
SOURCES/0087.patch
Normal file
@ -0,0 +1,241 @@
|
||||
From 844ce987255eddd9cc36b3e2c6070e9a82403750 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Valena <pvalena@redhat.com>
|
||||
Date: Mon, 9 Jun 2025 22:32:14 +0200
|
||||
Subject: [PATCH] chore: sync backport tool with rawhide
|
||||
|
||||
---
|
||||
.distro/backport_fix.sh | 225 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 225 insertions(+)
|
||||
|
||||
diff --git a/.distro/backport_fix.sh b/.distro/backport_fix.sh
|
||||
new file mode 100755
|
||||
index 00000000..50e4c233
|
||||
--- /dev/null
|
||||
+++ b/.distro/backport_fix.sh
|
||||
@@ -0,0 +1,225 @@
|
||||
+#!/usr/bin/zsh
|
||||
+#
|
||||
+# .distro/backport_fix.sh [options] DISTRO_VERSION JIRA_ISSUE DRACUT_PR [COMMIT_COUNT [COMMITS_ORIGIN_REPO]]
|
||||
+#
|
||||
+
|
||||
+set -xe
|
||||
+zsh -n "$0"
|
||||
+
|
||||
+[[ -z "$EDITOR" ]] && EDITOR=nano
|
||||
+
|
||||
+: "OPT: continue after solving cherry-pick conflict"
|
||||
+[[ "$1" == "-c" ]] && {
|
||||
+ {
|
||||
+ shift ||:
|
||||
+ } 2>/dev/null
|
||||
+ CON=y
|
||||
+ :
|
||||
+} || CON=
|
||||
+
|
||||
+: "OPT: delete conflicting branch"
|
||||
+[[ "$1" == "-d" ]] && {
|
||||
+ {
|
||||
+ shift ||:
|
||||
+ } 2>/dev/null
|
||||
+ DEL=y
|
||||
+ :
|
||||
+} || DEL=
|
||||
+
|
||||
+: "OPT: Fedora distro"
|
||||
+[[ "$1" == "-f" ]] && {
|
||||
+ {
|
||||
+ shift ||:
|
||||
+ } 2>/dev/null
|
||||
+ FED=y
|
||||
+ :
|
||||
+} || FED=
|
||||
+
|
||||
+: "OPT: local changes only"
|
||||
+[[ "$1" == "-l" ]] && {
|
||||
+ {
|
||||
+ shift ||:
|
||||
+ } 2>/dev/null
|
||||
+ LOC=y
|
||||
+
|
||||
+} || LOC=
|
||||
+
|
||||
+: "OPT: expect ref (commit-ish to get commits from) instead of PR #"
|
||||
+[[ "$1" == "-r" ]] && {
|
||||
+ {
|
||||
+ shift ||:
|
||||
+ } 2>/dev/null
|
||||
+ REF=y
|
||||
+
|
||||
+} || REF=
|
||||
+
|
||||
+: "OPT: skip already applied commits"
|
||||
+[[ "$1" == "-s" ]] && {
|
||||
+ SKI="$2"
|
||||
+ {
|
||||
+ shift 2 ||:
|
||||
+ } 2>/dev/null
|
||||
+ :
|
||||
+} || SKI=0
|
||||
+
|
||||
+: 'No more opts (check order)'
|
||||
+{
|
||||
+ [[ -n "$1" ]] && [[ "${1:0:1}" == "-" ]] && exit 4
|
||||
+
|
||||
+} 2>/dev/null
|
||||
+
|
||||
+{ echo ; } 2>/dev/null
|
||||
+
|
||||
+: 'DISTRO version #'
|
||||
+rv="${1}"
|
||||
+{
|
||||
+ [[ -n "$rv" ]]
|
||||
+ shift
|
||||
+} 2>/dev/null
|
||||
+
|
||||
+: 'Jira issue #'
|
||||
+bn="${1}"
|
||||
+{
|
||||
+ [[ -n "$bn" ]]
|
||||
+ shift ||:
|
||||
+} 2>/dev/null
|
||||
+
|
||||
+: 'Dracut pull request or REF'
|
||||
+pr="${1}"
|
||||
+{
|
||||
+ [[ -n "${pr}" ]]
|
||||
+ shift ||:
|
||||
+} 2>/dev/null
|
||||
+
|
||||
+: 'Commit count'
|
||||
+cc="${1:-1}"
|
||||
+{
|
||||
+ [[ -n "$cc" ]]
|
||||
+ shift ||:
|
||||
+} 2>/dev/null
|
||||
+
|
||||
+: 'Commits origin repo'
|
||||
+or="${1:-upstream-ng}"
|
||||
+{
|
||||
+ [[ -n "$or" ]]
|
||||
+ shift ||:
|
||||
+} 2>/dev/null
|
||||
+
|
||||
+: 'No extra arg'
|
||||
+{
|
||||
+ [[ -z "$1" ]]
|
||||
+
|
||||
+} 2>/dev/null
|
||||
+
|
||||
+{ echo ; } 2>/dev/null
|
||||
+
|
||||
+[[ -z "$FED" ]] && dist=rhel || dist=fedora
|
||||
+
|
||||
+remote="${dist}-${rv}"
|
||||
+
|
||||
+[[ -z "$REF" ]] && rf="pr${pr}" || rf="${or}/${pr}"
|
||||
+
|
||||
+{ echo ; } 2>/dev/null
|
||||
+
|
||||
+[[ -z "$CON" ]] && {
|
||||
+ : "Create ${remote}-fix-${bn}?"
|
||||
+ read '?-->continue?'
|
||||
+
|
||||
+ gitt
|
||||
+ gitc "${remote}"
|
||||
+
|
||||
+ [[ -n "$DEL" ]] && gitbd "${remote}-fix-${bn}" ||:
|
||||
+
|
||||
+ gitp "${remote}"
|
||||
+
|
||||
+ gitcb "${remote}-fix-${bn}"
|
||||
+
|
||||
+ gitrh "${remote}/main"
|
||||
+
|
||||
+ [[ -z "$REF" ]] && gitf "${or}" "refs/pull/${pr}/head:${rf}"
|
||||
+}
|
||||
+
|
||||
+: "List Commits"
|
||||
+cis="$(gitl1 "${rf}" "-${cc}" --reverse | cut -d' ' -f1)"
|
||||
+[[ -n "${cis}" ]]
|
||||
+
|
||||
+com="\nCherry-picked commits:\n${cis}\n"
|
||||
+
|
||||
+com="${com}\nResolves: RHEL-${bn}\n"
|
||||
+
|
||||
+echo -e "${com}"
|
||||
+
|
||||
+read '?-->continue?'
|
||||
+
|
||||
+i=0
|
||||
+echo "${cis}" \
|
||||
+| while read ci; do
|
||||
+ [[ -n "${ci}" ]] || continue
|
||||
+
|
||||
+ i=$(($i+1))
|
||||
+
|
||||
+ [[ $i -le $SKI ]] && continue
|
||||
+
|
||||
+ gityx "${ci}" || {
|
||||
+
|
||||
+ mod="$(gits | grep '^\s*both modified: ')" ||:
|
||||
+
|
||||
+ [[ -z "$mod" ]] || {
|
||||
+
|
||||
+ mod="$(echo "$mod" | tr -s ' ' | cut -d' ' -f3)"
|
||||
+
|
||||
+ ls -d $mod
|
||||
+
|
||||
+ $EDITOR $mod
|
||||
+
|
||||
+ gita $mod
|
||||
+
|
||||
+ gitdh
|
||||
+
|
||||
+ gits
|
||||
+
|
||||
+ exit 2
|
||||
+ }
|
||||
+
|
||||
+ gits | grep -q '^nothing to commit' \
|
||||
+ && {
|
||||
+ gits | grep 'git cherry-pick --skip'
|
||||
+
|
||||
+ gity --skip
|
||||
+ :
|
||||
+ } || {
|
||||
+
|
||||
+ gits
|
||||
+
|
||||
+ exit 3
|
||||
+ }
|
||||
+ }
|
||||
+ done
|
||||
+
|
||||
+read '?-->continue?'
|
||||
+
|
||||
+[[ -z "$CON" ]] && {
|
||||
+ [[ ${cc} -gt 1 ]] && {
|
||||
+
|
||||
+ gitei HEAD~${cc}
|
||||
+ :
|
||||
+ } || {
|
||||
+
|
||||
+ gitia --amend
|
||||
+ }
|
||||
+ :
|
||||
+} || {
|
||||
+ gits | grep -q '^\s*both modified: ' \
|
||||
+ && gita `gits | grep '^\s*both modified: ' | tr -s ' ' | cut -d' ' -f3`
|
||||
+
|
||||
+ gityc ||:
|
||||
+}
|
||||
+
|
||||
+gitl ||:
|
||||
+gitlp ||:
|
||||
+
|
||||
+[[ -z "$LOC" ]] || exit 0
|
||||
+
|
||||
+gituu "${remote}"
|
||||
+
|
||||
+gh pr create -f -a '@me' -R "redhat-plumbers/dracut-rhel${rv}"
|
||||
|
23
SOURCES/0088.patch
Normal file
23
SOURCES/0088.patch
Normal file
@ -0,0 +1,23 @@
|
||||
From 5dcc483cbe28534671aa12f4f651d85267911a72 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Valena <pvalena@redhat.com>
|
||||
Date: Mon, 9 Jun 2025 22:52:21 +0200
|
||||
Subject: [PATCH] ci: switch differential-shellcheck to ubuntu-latest
|
||||
|
||||
---
|
||||
.github/workflows/differential-shellcheck.yml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/.github/workflows/differential-shellcheck.yml b/.github/workflows/differential-shellcheck.yml
|
||||
index 63a022bf..20e10c17 100644
|
||||
--- a/.github/workflows/differential-shellcheck.yml
|
||||
+++ b/.github/workflows/differential-shellcheck.yml
|
||||
@@ -5,7 +5,7 @@ on:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
- runs-on: ubuntu-20.04
|
||||
+ runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Repository checkout
|
||||
|
33
SOURCES/0089.patch
Normal file
33
SOURCES/0089.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 6d0f4d436f54ac07eb3ffcc8879b8f8477506a00 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Tue, 20 May 2025 09:31:52 +0200
|
||||
Subject: [PATCH] fix(dracut.sh): don't pass empty string as dir
|
||||
|
||||
That causes dropindirs_sort() to look for .conf files in / due to
|
||||
expansion:
|
||||
|
||||
for d in "$@"; do
|
||||
for i in "$d/"*"$suffix"; do
|
||||
|
||||
Fixes #1275
|
||||
|
||||
(cherry picked from commit 000cfa0c278c0858e81c8dd2ff7231f069f0afb1)
|
||||
|
||||
Resolves: RHEL-92584
|
||||
---
|
||||
dracut.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index dcdeaf5f..43bc2ad0 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -962,7 +962,7 @@ if [[ -f $conffile ]]; then
|
||||
fi
|
||||
|
||||
# source our config dir
|
||||
-for f in $(dropindirs_sort ".conf" "$confdir" "$add_confdir" "$dracutbasedir/dracut.conf.d"); do
|
||||
+for f in $(dropindirs_sort ".conf" "$confdir" ${add_confdir:+"$add_confdir"} "$dracutbasedir/dracut.conf.d"); do
|
||||
check_conf_file "$f"
|
||||
# shellcheck disable=SC1090
|
||||
[[ -e $f ]] && . "$f"
|
38
SOURCES/0090.patch
Normal file
38
SOURCES/0090.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 31bc18ffe0bdec790e18166e44c8a545410f8198 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Alvarez Feijoo <antonio.feijoo@suse.com>
|
||||
Date: Wed, 21 Sep 2022 11:54:17 +0200
|
||||
Subject: [PATCH] fix(systemd): add missing modprobe@.service
|
||||
|
||||
sys-kernel-config.mount needs modprobe@configfs.service since systemd v246.7
|
||||
(https://github.com/systemd/systemd/commit/42cc2855), so the kernel configfs
|
||||
fails to mount in the initrd.
|
||||
|
||||
(cherry picked from commit 928252a145ca44627ba5873e01245eabe246992f)
|
||||
|
||||
Resolves: RHEL-97169
|
||||
---
|
||||
modules.d/00systemd/module-setup.sh | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
|
||||
index 38393855..2d6fc9ff 100755
|
||||
--- a/modules.d/00systemd/module-setup.sh
|
||||
+++ b/modules.d/00systemd/module-setup.sh
|
||||
@@ -83,6 +83,7 @@ install() {
|
||||
\
|
||||
"$systemdsystemunitdir"/sys-kernel-config.mount \
|
||||
\
|
||||
+ "$systemdsystemunitdir"/modprobe@.service \
|
||||
"$systemdsystemunitdir"/kmod-static-nodes.service \
|
||||
"$systemdsystemunitdir"/systemd-tmpfiles-setup.service \
|
||||
"$systemdsystemunitdir"/systemd-tmpfiles-setup-dev.service \
|
||||
@@ -176,6 +177,8 @@ install() {
|
||||
/etc/systemd/journald.conf.d/*.conf \
|
||||
/etc/systemd/system.conf \
|
||||
/etc/systemd/system.conf.d/*.conf \
|
||||
+ "$systemdsystemconfdir"/modprobe@.service \
|
||||
+ "$systemdsystemconfdir/modprobe@.service.d/*.conf" \
|
||||
/etc/hosts \
|
||||
/etc/hostname \
|
||||
/etc/nsswitch.conf \
|
||||
|
52
SOURCES/0093.patch
Normal file
52
SOURCES/0093.patch
Normal file
@ -0,0 +1,52 @@
|
||||
From 27a740a5b37b5cc5dee808d4818a82746b98638b Mon Sep 17 00:00:00 2001
|
||||
From: Coiby Xu <coxu@redhat.com>
|
||||
Date: Mon, 26 May 2025 15:34:30 +0800
|
||||
Subject: [PATCH] fix: let check_vol_slaves_all return 1 when checks on all
|
||||
slaves fail
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Currently check_vol_slaves_all return 0 even after checks on all slaves
|
||||
fail. And this leads to an issue that "dracut -hostonly-mode strict"
|
||||
gets stuck forever because instmods keeps waiting for user input when
|
||||
it's passed empty argument in the kernel-modules module.
|
||||
|
||||
Fixes: c7c8c498 ("dracut-functions.sh: catch all lvm slaves")
|
||||
Reported-by: Tomáš Bžatek <tbzatek@redhat.com>
|
||||
Signed-off-by: Coiby Xu <coxu@redhat.com>
|
||||
(cherry picked from commit 1fcfb2bffdad22873a804043eeeb9bb65a99caa8)
|
||||
|
||||
Resolves: RHEL-104222
|
||||
---
|
||||
dracut-functions.sh | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||||
index 2e582ebc..0cf605dc 100755
|
||||
--- a/dracut-functions.sh
|
||||
+++ b/dracut-functions.sh
|
||||
@@ -661,7 +661,7 @@ check_vol_slaves() {
|
||||
}
|
||||
|
||||
check_vol_slaves_all() {
|
||||
- local _vg _pv _majmin
|
||||
+ local _vg _pv _majmin _ret=1
|
||||
_majmin="$2"
|
||||
_dm="/sys/dev/block/$_majmin/dm"
|
||||
[[ -f $_dm/uuid && $(< "$_dm"/uuid) =~ LVM-* ]] || return 1
|
||||
@@ -675,11 +675,10 @@ check_vol_slaves_all() {
|
||||
fi
|
||||
|
||||
for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2> /dev/null); do
|
||||
- check_block_and_slaves_all "$1" "$(get_maj_min "$_pv")"
|
||||
+ check_block_and_slaves_all "$1" "$(get_maj_min "$_pv")" && _ret=0
|
||||
done
|
||||
- return 0
|
||||
fi
|
||||
- return 1
|
||||
+ return $_ret
|
||||
}
|
||||
|
||||
# fs_get_option <filesystem options> <search for option>
|
||||
|
43
SOURCES/0094.patch
Normal file
43
SOURCES/0094.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From 61c98d1ce74f96e1089ada51b161632c0ca1e079 Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||
Date: Tue, 3 Jun 2025 18:34:39 +0200
|
||||
Subject: [PATCH] improvement(74nvmf): lookup required NIC kernel modules for
|
||||
NBFT interfaces
|
||||
|
||||
When dracut is called with '--hostonly-mode strict' and perhaps even
|
||||
with --hostonly-nics '' as done by kdump/mkdumprd, all the kernel
|
||||
modules related to hostonly networking are stripped down. In such
|
||||
a case it is viable to lookup and install the required kernel modules
|
||||
ourselves, based on any currently present nbft interfaces.
|
||||
|
||||
Note: the lookup depends on the current 'nbftX' network interface
|
||||
naming.
|
||||
|
||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
||||
(cherry picked from commit e949a76aaa8f1a1e4cb01d4cacf89c69c7bbd801)
|
||||
|
||||
Resolves: RHEL-104222
|
||||
---
|
||||
modules.d/95nvmf/module-setup.sh | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/modules.d/95nvmf/module-setup.sh b/modules.d/95nvmf/module-setup.sh
|
||||
index 0b90d8be..bf051e41 100755
|
||||
--- a/modules.d/95nvmf/module-setup.sh
|
||||
+++ b/modules.d/95nvmf/module-setup.sh
|
||||
@@ -61,6 +61,14 @@ depends() {
|
||||
installkernel() {
|
||||
instmods nvme_fc lpfc qla2xxx
|
||||
hostonly="" instmods nvme_tcp nvme_fabrics 8021q
|
||||
+ # lookup NIC kernel modules for active NBFT interfaces
|
||||
+ if [[ $hostonly ]]; then
|
||||
+ for i in /sys/class/net/nbft*; do
|
||||
+ [ -d "$i" ] || continue
|
||||
+ _driver=$(basename "$(readlink -f "$i/device/driver/module")")
|
||||
+ [ -z "$_driver" ] || instmods "$_driver"
|
||||
+ done
|
||||
+ fi
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
|
36
SOURCES/0095.patch
Normal file
36
SOURCES/0095.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From 5015e56e3dc0e67b8115cfbddb1b575cf0551784 Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||
Date: Tue, 24 Jun 2025 16:50:31 +0200
|
||||
Subject: [PATCH] fix(74nvmf): set root=nvmf
|
||||
|
||||
In a restricted image like kdump the kernel commandline argument root=
|
||||
is typically absent. However it is required by the 45net-lib/netroot.sh
|
||||
module that fails with:
|
||||
|
||||
[ 23.599862] dracut: FATAL: No or empty root= argument
|
||||
[ 23.604956] dracut: Refusing to continue
|
||||
|
||||
Inspired by the 74iscsi module, let's set it to root=nvmf if not set
|
||||
before.
|
||||
|
||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
||||
(cherry picked from commit a6dce328ea9738a558db848fa8dbed253b15ee3d)
|
||||
|
||||
Resolves: RHEL-104222
|
||||
---
|
||||
modules.d/95nvmf/parse-nvmf-boot-connections.sh | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/modules.d/95nvmf/parse-nvmf-boot-connections.sh b/modules.d/95nvmf/parse-nvmf-boot-connections.sh
|
||||
index 66018371..4721efce 100755
|
||||
--- a/modules.d/95nvmf/parse-nvmf-boot-connections.sh
|
||||
+++ b/modules.d/95nvmf/parse-nvmf-boot-connections.sh
|
||||
@@ -324,3 +324,7 @@ fi
|
||||
|
||||
/sbin/initqueue --settled --onetime --name nvmf-connect-settled /sbin/nvmf-autoconnect.sh settled
|
||||
/sbin/initqueue --timeout --onetime --name nvmf-connect-timeout /sbin/nvmf-autoconnect.sh timeout
|
||||
+
|
||||
+# shellcheck disable=SC2034
|
||||
+rootok=1
|
||||
+[ -z "$root" ] && root="nvmf"
|
||||
|
56
SOURCES/0096.patch
Normal file
56
SOURCES/0096.patch
Normal file
@ -0,0 +1,56 @@
|
||||
From f7e5515272ec62735a283addc642a3930ee5e943 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Alvarez Feijoo <antonio.feijoo@suse.com>
|
||||
Date: Mon, 3 Mar 2025 15:22:14 +0100
|
||||
Subject: [PATCH] chore(multipath): remove `rd_NO_MULTIPATH` kernel command
|
||||
line option
|
||||
|
||||
Deprecated since 778b3543609d8c9d32df7111229f4072d00d02f0 (Nov 25, 2014).
|
||||
|
||||
(cherry picked from commit 954420374a63be32f6ece5fc1476ba18163da1f7)
|
||||
|
||||
Related: RHEL-96106
|
||||
---
|
||||
man/dracut.cmdline.7.asc | 2 --
|
||||
modules.d/90multipath/multipathd.service | 1 -
|
||||
modules.d/90multipath/multipathd.sh | 2 +-
|
||||
3 files changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/man/dracut.cmdline.7.asc b/man/dracut.cmdline.7.asc
|
||||
index abe1ec3f..697f81d9 100644
|
||||
--- a/man/dracut.cmdline.7.asc
|
||||
+++ b/man/dracut.cmdline.7.asc
|
||||
@@ -1383,8 +1383,6 @@ rd_NO_MD:: rd.md=0
|
||||
|
||||
rd_MD_UUID:: rd.md.uuid
|
||||
|
||||
-rd_NO_MULTIPATH: rd.multipath=0
|
||||
-
|
||||
rd_NFS_DOMAIN:: rd.nfs.domain
|
||||
|
||||
iscsi_initiator:: rd.iscsi.initiator
|
||||
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
|
||||
index e8182533..1ff7201a 100644
|
||||
--- a/modules.d/90multipath/multipathd.service
|
||||
+++ b/modules.d/90multipath/multipathd.service
|
||||
@@ -11,7 +11,6 @@ Conflicts=shutdown.target
|
||||
Conflicts=initrd-cleanup.service
|
||||
ConditionKernelCommandLine=!nompath
|
||||
ConditionKernelCommandLine=!rd.multipath=0
|
||||
-ConditionKernelCommandLine=!rd_NO_MULTIPATH
|
||||
ConditionKernelCommandLine=!multipath=off
|
||||
ConditionVirtualization=!container
|
||||
|
||||
diff --git a/modules.d/90multipath/multipathd.sh b/modules.d/90multipath/multipathd.sh
|
||||
index 385a95fb..62649003 100755
|
||||
--- a/modules.d/90multipath/multipathd.sh
|
||||
+++ b/modules.d/90multipath/multipathd.sh
|
||||
@@ -5,7 +5,7 @@ if [ "$(getarg rd.multipath)" = "default" ] && [ ! -e /etc/multipath.conf ]; the
|
||||
mpathconf --enable
|
||||
fi
|
||||
|
||||
-if getargbool 1 rd.multipath -d -n rd_NO_MULTIPATH && [ -e /etc/multipath.conf ]; then
|
||||
+if getargbool 1 rd.multipath && [ -e /etc/multipath.conf ]; then
|
||||
modprobe dm-multipath
|
||||
multipathd -B || multipathd
|
||||
need_shutdown
|
||||
|
46
SOURCES/0097.patch
Normal file
46
SOURCES/0097.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From b0c8aaecda1d62aa925d70fcadc071e9c85c2621 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Alvarez Feijoo <antonio.feijoo@suse.com>
|
||||
Date: Mon, 3 Mar 2025 15:23:41 +0100
|
||||
Subject: [PATCH] refactor(multipath): remove custom multipathd.service
|
||||
|
||||
Install `multipathd.service` provided by upstream, and add a dropin to support
|
||||
`rd.multipath=0`.
|
||||
|
||||
(cherry picked from commit bb343fa83de4c73890e9054329249a1491733a5c)
|
||||
|
||||
Resolves: RHEL-96106
|
||||
---
|
||||
modules.d/90multipath/module-setup.sh | 3 ++-
|
||||
modules.d/90multipath/multipathd-dracut.conf | 2 ++
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
|
||||
index 541e243a..2f4ac869 100755
|
||||
--- a/modules.d/90multipath/module-setup.sh
|
||||
+++ b/modules.d/90multipath/module-setup.sh
|
||||
@@ -90,6 +90,7 @@ install() {
|
||||
[[ -d $config_dir ]] || config_dir=/etc/multipath/conf.d
|
||||
|
||||
inst_multiple \
|
||||
+ "$systemdsystemunitdir"/multipathd.service \
|
||||
pkill \
|
||||
pidof \
|
||||
kpartx \
|
||||
@@ -137,7 +138,7 @@ install() {
|
||||
inst_simple "${moddir}/multipathd-configure.service" "${systemdsystemunitdir}/multipathd-configure.service"
|
||||
$SYSTEMCTL -q --root "$initdir" enable multipathd-configure.service
|
||||
fi
|
||||
- inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
|
||||
+ inst_simple "$moddir/multipathd-dracut.conf" "$systemdsystemunitdir/multipathd.service.d/multipathd-dracut.conf"
|
||||
$SYSTEMCTL -q --root "$initdir" enable multipathd.service
|
||||
else
|
||||
inst_hook pre-trigger 02 "$moddir/multipathd.sh"
|
||||
diff --git a/modules.d/90multipath/multipathd-dracut.conf b/modules.d/90multipath/multipathd-dracut.conf
|
||||
new file mode 100644
|
||||
index 00000000..783b05d5
|
||||
--- /dev/null
|
||||
+++ b/modules.d/90multipath/multipathd-dracut.conf
|
||||
@@ -0,0 +1,2 @@
|
||||
+[Unit]
|
||||
+ConditionKernelCommandLine=!rd.multipath=0
|
||||
|
37
SOURCES/0098.patch
Normal file
37
SOURCES/0098.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 90d1ed6f5acf7ba916197db1c08bb2d0de4715bc Mon Sep 17 00:00:00 2001
|
||||
From: Jo Zzsi <jozzsicsataban@gmail.com>
|
||||
Date: Sun, 25 May 2025 16:16:40 -0400
|
||||
Subject: [PATCH] fix(systemd): systemd.volatile needs overlayfs kernel module
|
||||
|
||||
See https://www.freedesktop.org/software/systemd/man/latest/systemd-volatile-root.service.html
|
||||
|
||||
> This service is only enabled if full volatile mode is selected,
|
||||
> for example by specifying "systemd.volatile=yes" on the kernel command line.
|
||||
> This service runs only in the initrd, before the system transitions to the host's root directory.
|
||||
> Note that this service is not used if "systemd.volatile=state" is used, as in that mode the root
|
||||
> directory is non-volatile.
|
||||
|
||||
Support for this systemd feature has been added in systemd v242 .
|
||||
https://github.com/systemd/systemd/pull/11243
|
||||
|
||||
(cherry picked from commit 33f2e49d600294fb54620f029e10fd74de54bfa8)
|
||||
|
||||
Resolves: RHEL-94663
|
||||
---
|
||||
modules.d/00systemd/module-setup.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
|
||||
index 2d6fc9ff..658640ac 100755
|
||||
--- a/modules.d/00systemd/module-setup.sh
|
||||
+++ b/modules.d/00systemd/module-setup.sh
|
||||
@@ -18,7 +18,7 @@ depends() {
|
||||
|
||||
installkernel() {
|
||||
hostonly='' instmods autofs4 ipv6 algif_hash hmac sha256 sg
|
||||
- instmods -s efivarfs
|
||||
+ instmods -s efivarfs overlay
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
|
45
SOURCES/0099.patch
Normal file
45
SOURCES/0099.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From ba41a1864778fb949253d4492c8c5d553ef3badc Mon Sep 17 00:00:00 2001
|
||||
From: Chris Riches <chris.riches@nutanix.com>
|
||||
Date: Thu, 3 Jul 2025 13:42:09 +0000
|
||||
Subject: [PATCH] refactor(dracut): introduce clamp_mtimes helper function
|
||||
|
||||
Avoid code duplication by introducing `clamp_mtimes`.
|
||||
|
||||
(cherry picked from commit b1f5842b36182d556f76d1bf9a023c74800b0880)
|
||||
|
||||
Related: RHEL-101901
|
||||
---
|
||||
dracut.sh | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index 43bc2ad0..d9f2ed83 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -2452,9 +2452,13 @@ if [[ $uefi == yes ]]; then
|
||||
mkdir -p "$uefi_outdir"
|
||||
fi
|
||||
|
||||
-if [[ $DRACUT_REPRODUCIBLE ]]; then
|
||||
- find "$initdir" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
|
||||
+clamp_mtimes() {
|
||||
+ find "$1" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
|
||||
| xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh"
|
||||
+}
|
||||
+
|
||||
+if [[ $DRACUT_REPRODUCIBLE ]]; then
|
||||
+ clamp_mtimes "$initdir"
|
||||
|
||||
if [[ "$(cpio --help)" == *--reproducible* ]]; then
|
||||
CPIO_REPRODUCIBLE=1
|
||||
@@ -2469,8 +2473,7 @@ if [[ $create_early_cpio == yes ]]; then
|
||||
echo 1 > "$early_cpio_dir/d/early_cpio"
|
||||
|
||||
if [[ $DRACUT_REPRODUCIBLE ]]; then
|
||||
- find "$early_cpio_dir/d" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
|
||||
- | xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh"
|
||||
+ clamp_mtimes "$early_cpio_dir/d"
|
||||
fi
|
||||
|
||||
# The microcode blob is _before_ the initramfs blob, not after
|
||||
|
67
SOURCES/0100.patch
Normal file
67
SOURCES/0100.patch
Normal file
@ -0,0 +1,67 @@
|
||||
From 45c50b57bfc5b6675604f90e3f6ff65511ead59c Mon Sep 17 00:00:00 2001
|
||||
From: Chris Riches <chris.riches@nutanix.com>
|
||||
Date: Wed, 9 Jul 2025 16:40:18 +0000
|
||||
Subject: [PATCH] fix(dracut): ensure hardlink deduplication is reproducible
|
||||
|
||||
By default, hardlink will only deduplicate files with identical mtimes,
|
||||
down to one-second granularity. If a dracut module rapidly generates
|
||||
multiple identical files, it is completely up to chance as to whether
|
||||
their mtimes cross a second boundary or not, and thus whether they get
|
||||
deduplicated or not. This results in non-reproducible output.
|
||||
|
||||
Re-order hardlink with respect to clamping to avoid this problem.
|
||||
|
||||
Fixes: https://issues.redhat.com/browse/RHEL-101901
|
||||
(cherry picked from commit f779e439ec60eafcb400501d4741c755a95fdc86)
|
||||
|
||||
Resolves: RHEL-101901
|
||||
---
|
||||
dracut.sh | 21 ++++++++++++++-------
|
||||
1 file changed, 14 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index d9f2ed83..47adee2f 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -2245,12 +2245,6 @@ for ((i = 0; i < ${#include_src[@]}; i++)); do
|
||||
fi
|
||||
done
|
||||
|
||||
-if [[ $do_hardlink == yes ]] && command -v hardlink > /dev/null; then
|
||||
- dinfo "*** Hardlinking files ***"
|
||||
- hardlink "$initdir" 2>&1 | dinfo
|
||||
- dinfo "*** Hardlinking files done ***"
|
||||
-fi
|
||||
-
|
||||
# strip binaries
|
||||
if [[ $do_strip == yes ]]; then
|
||||
# Prefer strip from elfutils for package size
|
||||
@@ -2453,7 +2447,7 @@ if [[ $uefi == yes ]]; then
|
||||
fi
|
||||
|
||||
clamp_mtimes() {
|
||||
- find "$1" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
|
||||
+ find "$@" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
|
||||
| xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh"
|
||||
}
|
||||
|
||||
@@ -2467,6 +2461,19 @@ if [[ $DRACUT_REPRODUCIBLE ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+# Hardlink is mtime-sensitive; do it after the above clamp.
|
||||
+if [[ $do_hardlink == yes ]] && command -v hardlink > /dev/null; then
|
||||
+ dinfo "*** Hardlinking files ***"
|
||||
+ hardlink "$initdir" 2>&1 | ddebug
|
||||
+ dinfo "*** Hardlinking files done ***"
|
||||
+
|
||||
+ # Hardlink itself breaks mtimes on directories as we may have added/removed
|
||||
+ # dir entries. Fix those up.
|
||||
+ if [[ $DRACUT_REPRODUCIBLE ]]; then
|
||||
+ clamp_mtimes "$initdir" -type d
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
[[ $EUID != 0 ]] && cpio_owner="0:0"
|
||||
|
||||
if [[ $create_early_cpio == yes ]]; then
|
38
SOURCES/0101.patch
Normal file
38
SOURCES/0101.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From f09dbb1a57b79e0a9dd4f02134b048ec6326ff78 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Valena <pvalena@redhat.com>
|
||||
Date: Sun, 17 Aug 2025 03:47:43 +0200
|
||||
Subject: [PATCH] fix(systemd): partial backport of
|
||||
|
||||
Author: Jo Zzsi <jozzsicsataban@gmail.com>
|
||||
Date: Wed Apr 23 19:21:59 2025 -0400
|
||||
|
||||
fix: load more kernel modules in sloppy hostonly mode
|
||||
|
||||
When hostonly_mode is set to "sloppy" instmods consults the host for currently loaded kernel modules and
|
||||
refuses to copy the Linux kernel module into the generated initramfs unless the kernel
|
||||
module is already loaded on the host.
|
||||
|
||||
Let's set hostonly explicitly to a better default before calling instmods.
|
||||
|
||||
For compatibility, we should not change the default in the instmods function itself.
|
||||
|
||||
(cherry picked from commit de862885ec55bb19bfa3e3f1afd27577b7c5e309)
|
||||
|
||||
Resolves: RHEL-94663
|
||||
---
|
||||
modules.d/00systemd/module-setup.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
|
||||
index 658640ac..6f07f329 100755
|
||||
--- a/modules.d/00systemd/module-setup.sh
|
||||
+++ b/modules.d/00systemd/module-setup.sh
|
||||
@@ -18,7 +18,7 @@ depends() {
|
||||
|
||||
installkernel() {
|
||||
hostonly='' instmods autofs4 ipv6 algif_hash hmac sha256 sg
|
||||
- instmods -s efivarfs overlay
|
||||
+ hostonly=$(optional_hostonly) instmods -s efivarfs overlay
|
||||
}
|
||||
|
||||
# called by dracut
|
@ -5,7 +5,7 @@
|
||||
# strip the automatically generated dep here and instead co-own the
|
||||
# directory.
|
||||
%global __requires_exclude pkg-config
|
||||
%define dist_free_release 87.git20250311
|
||||
%define dist_free_release 102.git20250818
|
||||
|
||||
Name: dracut
|
||||
Version: 057
|
||||
@ -115,6 +115,19 @@ Patch83: 0083.patch
|
||||
Patch84: 0084.patch
|
||||
Patch85: 0085.patch
|
||||
Patch86: 0086.patch
|
||||
Patch87: 0087.patch
|
||||
Patch88: 0088.patch
|
||||
Patch89: 0089.patch
|
||||
Patch90: 0090.patch
|
||||
Patch93: 0093.patch
|
||||
Patch94: 0094.patch
|
||||
Patch95: 0095.patch
|
||||
Patch96: 0096.patch
|
||||
Patch97: 0097.patch
|
||||
Patch98: 0098.patch
|
||||
Patch99: 0099.patch
|
||||
Patch100: 0100.patch
|
||||
Patch101: 0101.patch
|
||||
|
||||
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
|
||||
|
||||
@ -571,6 +584,23 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
|
||||
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
|
||||
|
||||
%changelog
|
||||
* Mon Aug 18 2025 Pavel Valena <pvalena@redhat.com> - 057-102.git20250818
|
||||
- fix(systemd): partial backport of
|
||||
|
||||
* Fri Aug 08 2025 Pavel Valena <pvalena@redhat.com> - 057-101.git20250808
|
||||
- fix(systemd): add missing modprobe@.service
|
||||
- fix: let check_vol_slaves_all return 1 when checks on all
|
||||
- improvement(74nvmf): lookup required NIC kernel modules for
|
||||
- fix(74nvmf): set root=nvmf
|
||||
- chore(multipath): remove `rd_NO_MULTIPATH` kernel command
|
||||
- refactor(multipath): remove custom multipathd.service
|
||||
- fix(systemd): systemd.volatile needs overlayfs kernel module
|
||||
- refactor(dracut): introduce clamp_mtimes helper function
|
||||
- fix(dracut): ensure hardlink deduplication is reproducible
|
||||
|
||||
* Mon Jun 09 2025 Pavel Valena <pvalena@redhat.com> - 057-90.git20250609
|
||||
- fix(dracut.sh): don't pass empty string as dir
|
||||
|
||||
* Tue Mar 11 2025 Pavel Valena <pvalena@redhat.com> - 057-87.git20250311
|
||||
- fix(rescue): create hmac file for rescue kernel
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user