dracut-057-110.git20260130

- fix(multipath): disable user_friendly_names with mpathconf
  - fix(pcsc): add opensc load module file
  - fix(pcsc): add --disable-polkit to pcscd.service
  - fix(pkcs11): delete trailing dot on libcryptsetup-token-systemd-pkcs11.so
  - fix(systemd-repart): allow partition format
  - feat(install.d):according to the changes of systemd/systemd#37897, When --entry-type=type2 is used (for UKI), will not remove normal kernel IMAGE. Resolves: https://issues.redhat.com/browse/RHEL-103974
  - feat(i18n): pull 'drm' or 'simpledrm' module unless excluded

Resolves: RHEL-103385,RHEL-103974,RHEL-109631,RHEL-145135,RHEL-91322
This commit is contained in:
Pavel Valena 2025-09-19 18:19:48 +02:00
parent be8447380f
commit 8107ee642f
8 changed files with 292 additions and 1 deletions

54
0102.patch Normal file
View File

@ -0,0 +1,54 @@
From ae61b2c93a032c3e74950d6730d32363fed9621f Mon Sep 17 00:00:00 2001
From: Benjamin Marzinski <bmarzins@redhat.com>
Date: Thu, 24 Apr 2025 17:51:01 -0400
Subject: [PATCH] fix(multipath): disable user_friendly_names with mpathconf
If dracut is creating /etc/multipath.conf by calling mpathconf in either
multipathd-configure.service or multipathd.sh, there is a chance that
the multipath config in the real root differs. Specifically, it might
have chosen different user_friendly_names for the devices. When the
systems switches to the real root, multipath may not be able to switch
the devices to their configured names because those might already be
in use. To avoid this, call mpathconf with "--user_friendly_names n"
to create a multipath.conf with user_friendly_names disabled. If all
devices use WWID names, it is always possible for multipath to rename
them later.
Fixes b8a92b715 ("multipath: add automatic configuration for multipath")
(cherry picked from commit f36f2869859eb5f9613a94a28dfaf31505e645cc)
Resolves: RHEL-91322
---
modules.d/90multipath/multipathd-configure.service | 2 +-
modules.d/90multipath/multipathd.sh | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules.d/90multipath/multipathd-configure.service b/modules.d/90multipath/multipathd-configure.service
index de690615..6dedd9b9 100644
--- a/modules.d/90multipath/multipathd-configure.service
+++ b/modules.d/90multipath/multipathd-configure.service
@@ -13,7 +13,7 @@ ConditionPathExists=!/etc/multipath.conf
[Service]
Type=oneshot
ExecStartPre=-/usr/bin/mkdir -p /etc/multipath/multipath.conf.d
-ExecStart=/usr/sbin/mpathconf --enable
+ExecStart=/usr/sbin/mpathconf --enable --user_friendly_names n
[Install]
WantedBy=sysinit.target
diff --git a/modules.d/90multipath/multipathd.sh b/modules.d/90multipath/multipathd.sh
index 62649003..6b6b2666 100755
--- a/modules.d/90multipath/multipathd.sh
+++ b/modules.d/90multipath/multipathd.sh
@@ -2,7 +2,8 @@
if [ "$(getarg rd.multipath)" = "default" ] && [ ! -e /etc/multipath.conf ]; then
mkdir -p /etc/multipath/multipath.conf.d
- mpathconf --enable
+ mpathconf --enable --user_friendly_names n
+
fi
if getargbool 1 rd.multipath && [ -e /etc/multipath.conf ]; then

29
0104.patch Normal file
View File

@ -0,0 +1,29 @@
From 95ba74588df2683574f299eb7f31862489e325ed Mon Sep 17 00:00:00 2001
From: Manuel Fombuena <mfombuena@innovara.co.uk>
Date: Fri, 3 Nov 2023 09:04:53 +0000
Subject: [PATCH] fix(pcsc): add opensc load module file
On Fedora, and possibly others, this file loads opensc-pkcs11.so which you need to interact with the smart card to unlock a LUKS encrypted volume.
(cherry picked from commit e9baea97fb5dec6fb26ceaebb3e580bf272da2b8)
Resolves: RHEL-109631
---
modules.d/91pcsc/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/91pcsc/module-setup.sh b/modules.d/91pcsc/module-setup.sh
index 6f8b2c88..26b463d4 100755
--- a/modules.d/91pcsc/module-setup.sh
+++ b/modules.d/91pcsc/module-setup.sh
@@ -29,7 +29,8 @@ install() {
inst_simple "$moddir/pcscd.socket" "${systemdsystemunitdir}"/pcscd.socket
inst_multiple -o \
- pcscd
+ pcscd \
+ /usr/share/p11-kit/modules/opensc.module
# Enable systemd type unit(s)
for i in \

30
0105.patch Normal file
View File

@ -0,0 +1,30 @@
From 6a907ccc5f9f7d2aeda295ad52cb94b76c628e09 Mon Sep 17 00:00:00 2001
From: Manuel Fombuena <mfombuena@innovara.co.uk>
Date: Fri, 3 Nov 2023 11:53:38 +0000
Subject: [PATCH] fix(pcsc): add --disable-polkit to pcscd.service
Needs pcsc >= 2.0.0
polkit is not included in dracut and without this option, pcscd simply fails
(cherry picked from commit 57627c8d654986483d241b171114e01a725fae1e)
Resolves: RHEL-109631
---
modules.d/91pcsc/pcscd.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/91pcsc/pcscd.service b/modules.d/91pcsc/pcscd.service
index 639decd2..7d4e0a2b 100644
--- a/modules.d/91pcsc/pcscd.service
+++ b/modules.d/91pcsc/pcscd.service
@@ -5,7 +5,7 @@ Documentation=man:pcscd(8)
Requires=pcscd.socket
[Service]
-ExecStart=/usr/sbin/pcscd --foreground --auto-exit
+ExecStart=/usr/sbin/pcscd --foreground --auto-exit --disable-polkit
ExecReload=/usr/sbin/pcscd --hotplug
[Install]

27
0106.patch Normal file
View File

@ -0,0 +1,27 @@
From 6c5a3de19fa62627567772e0a0290a41d12cc04d Mon Sep 17 00:00:00 2001
From: innovara <fombuena@outlook.com>
Date: Fri, 27 Oct 2023 11:53:49 +0100
Subject: [PATCH] fix(pkcs11): delete trailing dot on
libcryptsetup-token-systemd-pkcs11.so
libcryptsetup-token-systemd-pkcs11.so.* doesn't match the file libcryptsetup-token-systemd-pkcs11.so
(cherry picked from commit 1c762c0da6ed2bb6fa44d5e0968605cc4d45361c)
Resolves: RHEL-109631
---
modules.d/91pkcs11/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/91pkcs11/module-setup.sh b/modules.d/91pkcs11/module-setup.sh
index 547631db..5675efb5 100755
--- a/modules.d/91pkcs11/module-setup.sh
+++ b/modules.d/91pkcs11/module-setup.sh
@@ -30,6 +30,6 @@ install() {
{"tls/$_arch/",tls/,"$_arch/",}"libffi.so.*" \
{"tls/$_arch/",tls/,"$_arch/",}"libp11-kit.so.*" \
{"tls/$_arch/",tls/,"$_arch/",}"libcryptsetup.so.*" \
- {"tls/$_arch/",tls/,"$_arch/",}"/cryptsetup/libcryptsetup-token-systemd-pkcs11.so.*"
+ {"tls/$_arch/",tls/,"$_arch/",}"/cryptsetup/libcryptsetup-token-systemd-pkcs11.so*"
}

45
0107.patch Normal file
View File

@ -0,0 +1,45 @@
From 2b145a4b9a3b74ce422071c8d43a18d9923963a2 Mon Sep 17 00:00:00 2001
From: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Date: Fri, 20 Jun 2025 08:38:27 -0400
Subject: [PATCH] fix(systemd-repart): allow partition format
systemd-repart is capable not only of creating a partition, but also of
formatting it. According with repart.d, it is able to create the
following filesystems: ext4, btrfs, xfs, vfat, erofs and squashfs.
Add support in the systemd-repart module for the underlying tools to
allow systemd-repart to format the partition.
Failure to do so would make systemd-repart initramfs unit fail, if
Format= option is provided in a repart.d config file.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
(cherry picked from commit d960ff4ba12a077b49f0cb3f5492b7c467a7738a)
Resolves: RHEL-103385
---
modules.d/01systemd-repart/module-setup.sh | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/modules.d/01systemd-repart/module-setup.sh b/modules.d/01systemd-repart/module-setup.sh
index ed1ddcfd..b95d7640 100755
--- a/modules.d/01systemd-repart/module-setup.sh
+++ b/modules.d/01systemd-repart/module-setup.sh
@@ -30,6 +30,16 @@ install() {
"$systemdsystemunitdir"/initrd-root-fs.target.wants/systemd-repart.service \
systemd-repart
+ # Systemd-repart is capable of also formatting the created partition.
+ # Support all filesystems that repart.d supports.
+ inst_multiple -o \
+ "mkfs.ext4" \
+ "mkfs.btrfs" \
+ "mkfs.xfs" \
+ "mkfs.vfat" \
+ "mkfs.erofs" \
+ "mksquashfs"
+
# Install the hosts local user configurations if enabled.
if [[ $hostonly ]]; then
inst_multiple -H -o \

32
0108.patch Normal file
View File

@ -0,0 +1,32 @@
From 7607265639cc9e321747a6f13b28172880a62eb6 Mon Sep 17 00:00:00 2001
From: Xiong Xiaoqiang <xxiong@redhat.com>
Date: Thu, 28 Aug 2025 21:50:46 +0800
Subject: [PATCH] feat(install.d):according to the changes of
systemd/systemd#37897, When --entry-type=type2 is used (for UKI), will not
remove normal kernel IMAGE. Resolves:
https://issues.redhat.com/browse/RHEL-103974
Signed-off-by: Xiong Xiaoqiang <xxiong@redhat.com>
Resolves: RHEL-103974
---
install.d/50-dracut.install | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/install.d/50-dracut.install b/install.d/50-dracut.install
index 70632ec7..bf030675 100755
--- a/install.d/50-dracut.install
+++ b/install.d/50-dracut.install
@@ -58,6 +58,11 @@ case "$COMMAND" in
ret=$?
;;
remove)
+ if [[ "$KERNEL_INSTALL_BOOT_ENTRY_TYPE" == "type2" ]]; then
+ [[ "${KERNEL_INSTALL_VERBOSE:-0}" -gt 0 ]] && \
+ echo "Not removing UKI image (type2); handled by systemd's 90-uki-copy.install"
+ exit 0
+ fi
rm -f -- "$BOOT_DIR_ABS/$INITRD"
ret=$?
;;

57
0109.patch Normal file
View File

@ -0,0 +1,57 @@
From 35e125e0b8c013e759b4a1b819d73a99adcbf347 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Tue, 6 Jan 2026 17:59:48 +0100
Subject: [PATCH] feat(i18n): pull 'drm' or 'simpledrm' module unless excluded
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some graphic cards require the 'drm' module to be present to be able to
setup the console font (e.g. 'i915' requires it).
Also avoid conflicts of 'drm' with 'simpledrm' module.
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Co-authored-by: Renaud Métrich <rmetrich@redhat.com>
(cherry picked from commit d56b581f3ed3e788d8950cce710c6733a08e9d23)
Resolves: RHEL-145135
---
modules.d/10i18n/module-setup.sh | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index 35bda36f..11aedb0c 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -11,7 +11,28 @@ check() {
# called by dracut
depends() {
- return 0
+ # Include "drm" / "simpledrm" to be able to set the console font properly
+ local _module _drm
+ local -a _modules=(drm simpledrm)
+
+ for _module in "${_modules[@]}"; do
+ if dracut_module_included "$_module"; then
+ _drm="$_module"
+ break
+ fi
+ done
+
+ if [[ -z $_drm ]]; then
+ for _module in "${_modules[@]}"; do
+ module_check "$_module" > /dev/null 2>&1
+ if [[ $? == 255 ]] && ! [[ " $omit_dracutmodules " == *\ $_module\ * ]]; then
+ _drm="$_module"
+ break
+ fi
+ done
+ fi
+
+ echo "$_drm"
}
# called by dracut

View File

@ -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 102.git20250818
%define dist_free_release 110.git20260130
Name: dracut
Version: 057
@ -128,6 +128,13 @@ Patch98: 0098.patch
Patch99: 0099.patch
Patch100: 0100.patch
Patch101: 0101.patch
Patch102: 0102.patch
Patch104: 0104.patch
Patch105: 0105.patch
Patch106: 0106.patch
Patch107: 0107.patch
Patch108: 0108.patch
Patch109: 0109.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
@ -584,6 +591,16 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
%changelog
* Fri Jan 30 2026 Pavel Valena <pvalena@redhat.com> - 057-110.git20260130
- fix(systemd-repart): allow partition format
- feat(install.d):according to the changes of
- feat(i18n): pull 'drm' or 'simpledrm' module unless excluded
- fix(pcsc): add opensc load module file
- fix(pcsc): add --disable-polkit to pcscd.service
- fix(pkcs11): delete trailing dot on
- fix(multipath): disable user_friendly_names with mpathconf
Resolves: RHEL-103385,RHEL-103974,RHEL-109631,RHEL-145135,RHEL-91322
* Mon Aug 18 2025 Pavel Valena <pvalena@redhat.com> - 057-102.git20250818
- fix(systemd): partial backport of