From 47c6ec79edd9951b12afd91e16a66ae1bd9ee619 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Tue, 16 Aug 2022 15:50:02 +0200 Subject: [PATCH] dracut-057-13.git20220816 Resolves: #2099502,#2109498,#2109803 --- 0010.patch | 29 +++++++++++++++++++++++++++++ 0011.patch | 32 ++++++++++++++++++++++++++++++++ 0012.patch | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ dracut.spec | 10 +++++++++- 4 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 0010.patch create mode 100644 0011.patch create mode 100644 0012.patch diff --git a/0010.patch b/0010.patch new file mode 100644 index 0000000..c73f2cd --- /dev/null +++ b/0010.patch @@ -0,0 +1,29 @@ +From 733d47fb873c2b821a430a614d83b60475df2d13 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Mon, 15 Aug 2022 16:25:53 +0200 +Subject: [PATCH] fix(kernel-modules): always include nvmem driver on + nvmem_on_arm + +These drivers are needed to boot on some SoCs like NXP i.MX +We should include them so installation images will work. + +(cherry picked from commit bc965cd8890013a6362733d217c18756134bbcdf) + +Resolves: #2109498 +--- + modules.d/90kernel-modules/module-setup.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index e2073a04..191af041 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -85,6 +85,7 @@ installkernel() { + "=drivers/mfd" \ + "=drivers/mmc/core" \ + "=drivers/mmc/host" \ ++ "=drivers/nvmem" \ + "=drivers/phy" \ + "=drivers/power" \ + "=drivers/regulator" \ + diff --git a/0011.patch b/0011.patch new file mode 100644 index 0000000..1f329a1 --- /dev/null +++ b/0011.patch @@ -0,0 +1,32 @@ +From 58a310fdbfc1a7e07703c6ab9b21c43a73330a92 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Mon, 15 Aug 2022 16:32:51 +0200 +Subject: [PATCH] fix(drm): add video drivers needed on hyper-v and similar + +Due to non-availability of Hyper-V video driver hyperv_drm in kdump +initramfs, the console seems to be in hang state with no text over it. + +We should also go through the /sys/bus/vmbus/devices and include drivers +referenced there. + +(cherry picked from commit 85149b85961aa535a3c61d492cd3594794e5cc3f) + +Resolves: #2099502 +--- + modules.d/50drm/module-setup.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh +index cff0550c..1fb38677 100755 +--- a/modules.d/50drm/module-setup.sh ++++ b/modules.d/50drm/module-setup.sh +@@ -31,7 +31,7 @@ installkernel() { + if [[ $hostonly ]]; then + local i modlink modname + +- for i in /sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?}/*/modalias; do ++ for i in /sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?,vmbus/devices}/*/modalias; do + [[ -e $i ]] || continue + [[ -n $(< "$i") ]] || continue + # shellcheck disable=SC2046 + diff --git a/0012.patch b/0012.patch new file mode 100644 index 0000000..0956f95 --- /dev/null +++ b/0012.patch @@ -0,0 +1,51 @@ +From a84df47afae75a0b4068c78d8201a515a841f353 Mon Sep 17 00:00:00 2001 +From: David Tardon +Date: Tue, 16 Aug 2022 13:30:16 +0200 +Subject: [PATCH] fix(skipcpio): ignore broken pipe + +If lsinitrd is called from a context in which SIGPIPE is ignored (e.g., +from a systemd unit with default setting of IgnoreSIGPIPE=), the +following line will result in an error being issued: + +bin="$($SKIP "$image" | { read -r -N 6 bin && echo "$bin"; })" + +An example error from `kdumpctl start` (which internally just calls +`systemctl start kdump.service`): + +kdumpctl[1287]: ERROR: src/skipcpio/skipcpio.c:191:main(): fwrite + +A minimal reproducer: + +systemd-run -t sh -c '/path/to/skipcpio /path/to/any/file | false' + +(cherry-picked from e9a4d73b73b716a9d2d5f01ceb7b427ef544ed9b) + +Resolves: #2109803 +--- + src/skipcpio/skipcpio.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/skipcpio/skipcpio.c b/src/skipcpio/skipcpio.c +index 13bfaf53..f66c1869 100644 +--- a/src/skipcpio/skipcpio.c ++++ b/src/skipcpio/skipcpio.c +@@ -23,6 +23,7 @@ + #define _GNU_SOURCE + #endif + ++#include + #include + #include + #include +@@ -187,8 +188,10 @@ cat_rest: + goto end; + } + ++ errno = 0; + if (fwrite(buf.copy_buffer, 1, s, stdout) != s) { +- pr_err("fwrite\n"); ++ if (errno != EPIPE) ++ pr_err("fwrite\n"); + goto end; + } + } diff --git a/dracut.spec b/dracut.spec index fc871f9..404e8c6 100644 --- a/dracut.spec +++ b/dracut.spec @@ -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 10.git20220721 +%define dist_free_release 13.git20220816 Name: dracut Version: 057 @@ -38,6 +38,9 @@ Patch6: 0006.patch Patch7: 0007.patch Patch8: 0008.patch Patch9: 0009.patch +Patch10: 0010.patch +Patch11: 0011.patch +Patch12: 0012.patch Source1: https://www.gnu.org/licenses/lgpl-2.1.txt @@ -495,6 +498,11 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog +* Tue Aug 16 2022 Pavel Valena - 057-13.git20220816 +- fix(kernel-modules): always include nvmem driver on +- fix(drm): add video drivers needed on hyper-v and similar +- fix(skipcpio): ignore broken pipe + * Thu Jul 21 2022 Pavel Valena - 057-10.git20220721 - fix(dracut.sh): do not fail on irregular files - fix(98dracut-systemd): partly revert "emergency mode: use