Hello Peter,
Did you actually get a system booted with an initramdisk generated by this?
I believe that we were stuck on the latest version of dracut that didn’t too deeply integrate systemd. Since we are on sysvinit, I have no idea how usable modern versions of dracut would be for us.
-Michael
On 3 Mar 2022, at 21:22, Peter Müller peter.mueller@ipfire.org wrote:
This one was desperately in need of an upgrade, as dracut 038 was released 8 YEARS ago. Hence, the changelog since is way too long to include it here; refer to https://git.kernel.org/pub/scm/boot/dracut/dracut.git/tree/NEWS.md for details.
See also: #12773
Signed-off-by: Peter Müller peter.mueller@ipfire.org
config/rootfiles/common/dracut | 111 +++++++++++++++++- lfs/dracut | 11 +- .../dracut-038-always-enable-mdraid.patch | 55 --------- ...38_add_hyperv-keyboard_and_sdhci-pci.patch | 12 -- .../dracut-056-always-enable-mdraid.patch | 68 +++++++++++ ...56_add_hyperv-keyboard_and_sdhci-pci.patch | 12 ++ 6 files changed, 191 insertions(+), 78 deletions(-) delete mode 100644 src/patches/dracut-038-always-enable-mdraid.patch delete mode 100644 src/patches/dracut-038_add_hyperv-keyboard_and_sdhci-pci.patch create mode 100644 src/patches/dracut-056-always-enable-mdraid.patch create mode 100644 src/patches/dracut-056_add_hyperv-keyboard_and_sdhci-pci.patch
diff --git a/config/rootfiles/common/dracut b/config/rootfiles/common/dracut index 03379b4d6..0d6009b5c 100644 --- a/config/rootfiles/common/dracut +++ b/config/rootfiles/common/dracut @@ -3,18 +3,24 @@ etc/dracut.conf.d usr/bin/dracut usr/bin/dracut-catimages usr/bin/lsinitrd -usr/bin/mkinitrd usr/lib/dracut #usr/lib/dracut/dracut-functions #usr/lib/dracut/dracut-functions.sh +#usr/lib/dracut/dracut-init.sh #usr/lib/dracut/dracut-initramfs-restore #usr/lib/dracut/dracut-install #usr/lib/dracut/dracut-logger.sh +#usr/lib/dracut/dracut-util #usr/lib/dracut/dracut-version.sh #usr/lib/dracut/dracut.conf.d #usr/lib/dracut/modules.d #usr/lib/dracut/modules.d/00bash #usr/lib/dracut/modules.d/00bash/module-setup.sh +#usr/lib/dracut/modules.d/00mksh +#usr/lib/dracut/modules.d/00mksh/module-setup.sh +#usr/lib/dracut/modules.d/00warpclock +#usr/lib/dracut/modules.d/00warpclock/module-setup.sh +#usr/lib/dracut/modules.d/00warpclock/warpclock.sh #usr/lib/dracut/modules.d/02caps #usr/lib/dracut/modules.d/02caps/README #usr/lib/dracut/modules.d/02caps/caps.sh @@ -22,26 +28,77 @@ usr/lib/dracut #usr/lib/dracut/modules.d/03rescue #usr/lib/dracut/modules.d/03rescue/module-setup.sh #usr/lib/dracut/modules.d/04watchdog +#usr/lib/dracut/modules.d/04watchdog-modules +#usr/lib/dracut/modules.d/04watchdog-modules/module-setup.sh #usr/lib/dracut/modules.d/04watchdog/module-setup.sh #usr/lib/dracut/modules.d/04watchdog/watchdog-stop.sh #usr/lib/dracut/modules.d/04watchdog/watchdog.sh +#usr/lib/dracut/modules.d/06dbus-broker +#usr/lib/dracut/modules.d/06dbus-broker/module-setup.sh +#usr/lib/dracut/modules.d/06dbus-daemon +#usr/lib/dracut/modules.d/06dbus-daemon/module-setup.sh +#usr/lib/dracut/modules.d/06rngd +#usr/lib/dracut/modules.d/06rngd/module-setup.sh +#usr/lib/dracut/modules.d/06rngd/rngd.service +#usr/lib/dracut/modules.d/09dbus +#usr/lib/dracut/modules.d/09dbus/module-setup.sh #usr/lib/dracut/modules.d/10i18n #usr/lib/dracut/modules.d/10i18n/10-console.rules #usr/lib/dracut/modules.d/10i18n/README #usr/lib/dracut/modules.d/10i18n/console_init.sh #usr/lib/dracut/modules.d/10i18n/module-setup.sh #usr/lib/dracut/modules.d/10i18n/parse-i18n.sh +#usr/lib/dracut/modules.d/35network-legacy +#usr/lib/dracut/modules.d/35network-legacy/dhclient-script.sh +#usr/lib/dracut/modules.d/35network-legacy/dhclient.conf +#usr/lib/dracut/modules.d/35network-legacy/dhcp-multi.sh +#usr/lib/dracut/modules.d/35network-legacy/ifup.sh +#usr/lib/dracut/modules.d/35network-legacy/kill-dhclient.sh +#usr/lib/dracut/modules.d/35network-legacy/module-setup.sh +#usr/lib/dracut/modules.d/35network-legacy/net-genrules.sh +#usr/lib/dracut/modules.d/35network-legacy/parse-bond.sh +#usr/lib/dracut/modules.d/35network-legacy/parse-bridge.sh +#usr/lib/dracut/modules.d/35network-legacy/parse-ibft.sh +#usr/lib/dracut/modules.d/35network-legacy/parse-ifname.sh +#usr/lib/dracut/modules.d/35network-legacy/parse-ip-opts.sh +#usr/lib/dracut/modules.d/35network-legacy/parse-team.sh +#usr/lib/dracut/modules.d/35network-legacy/parse-vlan.sh +#usr/lib/dracut/modules.d/35network-manager +#usr/lib/dracut/modules.d/35network-manager/initrd-no-auto-default.conf +#usr/lib/dracut/modules.d/35network-manager/module-setup.sh +#usr/lib/dracut/modules.d/35network-manager/nm-config.sh +#usr/lib/dracut/modules.d/35network-manager/nm-initrd.service +#usr/lib/dracut/modules.d/35network-manager/nm-lib.sh +#usr/lib/dracut/modules.d/35network-manager/nm-run.sh +#usr/lib/dracut/modules.d/35network-manager/nm-wait-online-initrd.service +#usr/lib/dracut/modules.d/35network-wicked +#usr/lib/dracut/modules.d/35network-wicked/module-setup.sh +#usr/lib/dracut/modules.d/35network-wicked/wicked-config.sh +#usr/lib/dracut/modules.d/35network-wicked/wicked-run.sh #usr/lib/dracut/modules.d/50drm #usr/lib/dracut/modules.d/50drm/module-setup.sh +#usr/lib/dracut/modules.d/62bluetooth +#usr/lib/dracut/modules.d/62bluetooth/module-setup.sh +#usr/lib/dracut/modules.d/80lvmmerge +#usr/lib/dracut/modules.d/80lvmmerge/README.md +#usr/lib/dracut/modules.d/80lvmmerge/lvmmerge.sh +#usr/lib/dracut/modules.d/80lvmmerge/module-setup.sh +#usr/lib/dracut/modules.d/81cio_ignore +#usr/lib/dracut/modules.d/81cio_ignore/module-setup.sh +#usr/lib/dracut/modules.d/81cio_ignore/parse-cio_accept.sh +#usr/lib/dracut/modules.d/90dmsquash-live-ntfs +#usr/lib/dracut/modules.d/90dmsquash-live-ntfs/module-setup.sh #usr/lib/dracut/modules.d/90kernel-modules +#usr/lib/dracut/modules.d/90kernel-modules-extra +#usr/lib/dracut/modules.d/90kernel-modules-extra/module-setup.sh #usr/lib/dracut/modules.d/90kernel-modules/insmodpost.sh #usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh #usr/lib/dracut/modules.d/90kernel-modules/parse-kernel.sh +#usr/lib/dracut/modules.d/90kernel-network-modules +#usr/lib/dracut/modules.d/90kernel-network-modules/module-setup.sh #usr/lib/dracut/modules.d/90mdraid #usr/lib/dracut/modules.d/90mdraid/59-persistent-storage-md.rules #usr/lib/dracut/modules.d/90mdraid/65-md-incremental-imsm.rules -#usr/lib/dracut/modules.d/90mdraid/md-noddf.sh -#usr/lib/dracut/modules.d/90mdraid/md-noimsm.sh #usr/lib/dracut/modules.d/90mdraid/md-shutdown.sh #usr/lib/dracut/modules.d/90mdraid/mdmon-pre-shutdown.sh #usr/lib/dracut/modules.d/90mdraid/mdmon-pre-udev.sh @@ -51,11 +108,45 @@ usr/lib/dracut #usr/lib/dracut/modules.d/90mdraid/mdraid_start.sh #usr/lib/dracut/modules.d/90mdraid/module-setup.sh #usr/lib/dracut/modules.d/90mdraid/parse-md.sh +#usr/lib/dracut/modules.d/90nvdimm +#usr/lib/dracut/modules.d/90nvdimm/module-setup.sh +#usr/lib/dracut/modules.d/90ppcmac +#usr/lib/dracut/modules.d/90ppcmac/load-thermal.sh +#usr/lib/dracut/modules.d/90ppcmac/module-setup.sh +#usr/lib/dracut/modules.d/91fido2 +#usr/lib/dracut/modules.d/91fido2/module-setup.sh +#usr/lib/dracut/modules.d/91pcsc +#usr/lib/dracut/modules.d/91pcsc/module-setup.sh +#usr/lib/dracut/modules.d/91pcsc/pcscd.service +#usr/lib/dracut/modules.d/91pcsc/pcscd.socket +#usr/lib/dracut/modules.d/91pkcs11 +#usr/lib/dracut/modules.d/91pkcs11/module-setup.sh +#usr/lib/dracut/modules.d/91tpm2-tss +#usr/lib/dracut/modules.d/91tpm2-tss/module-setup.sh +#usr/lib/dracut/modules.d/91zipl +#usr/lib/dracut/modules.d/91zipl/install_zipl_cmdline.sh +#usr/lib/dracut/modules.d/91zipl/module-setup.sh +#usr/lib/dracut/modules.d/91zipl/parse-zipl.sh +#usr/lib/dracut/modules.d/95dcssblk +#usr/lib/dracut/modules.d/95dcssblk/module-setup.sh +#usr/lib/dracut/modules.d/95dcssblk/parse-dcssblk.sh #usr/lib/dracut/modules.d/95debug #usr/lib/dracut/modules.d/95debug/module-setup.sh #usr/lib/dracut/modules.d/95fstab-sys #usr/lib/dracut/modules.d/95fstab-sys/module-setup.sh #usr/lib/dracut/modules.d/95fstab-sys/mount-sys.sh +#usr/lib/dracut/modules.d/95lunmask +#usr/lib/dracut/modules.d/95lunmask/fc_transport_scan_lun.sh +#usr/lib/dracut/modules.d/95lunmask/module-setup.sh +#usr/lib/dracut/modules.d/95lunmask/parse-lunmask.sh +#usr/lib/dracut/modules.d/95lunmask/sas_transport_scan_lun.sh +#usr/lib/dracut/modules.d/95nvmf +#usr/lib/dracut/modules.d/95nvmf/95-nvmf-initqueue.rules +#usr/lib/dracut/modules.d/95nvmf/module-setup.sh +#usr/lib/dracut/modules.d/95nvmf/nvmf-autoconnect.sh +#usr/lib/dracut/modules.d/95nvmf/parse-nvmf-boot-connections.sh +#usr/lib/dracut/modules.d/95qeth_rules +#usr/lib/dracut/modules.d/95qeth_rules/module-setup.sh #usr/lib/dracut/modules.d/95rootfs-block #usr/lib/dracut/modules.d/95rootfs-block/block-genrules.sh #usr/lib/dracut/modules.d/95rootfs-block/module-setup.sh @@ -76,6 +167,7 @@ usr/lib/dracut #usr/lib/dracut/modules.d/98integrity #usr/lib/dracut/modules.d/98integrity/README #usr/lib/dracut/modules.d/98integrity/evm-enable.sh +#usr/lib/dracut/modules.d/98integrity/ima-keys-load.sh #usr/lib/dracut/modules.d/98integrity/ima-policy-load.sh #usr/lib/dracut/modules.d/98integrity/module-setup.sh #usr/lib/dracut/modules.d/98pollcdrom @@ -89,8 +181,8 @@ usr/lib/dracut #usr/lib/dracut/modules.d/98syslog/rsyslogd-start.sh #usr/lib/dracut/modules.d/98syslog/rsyslogd-stop.sh #usr/lib/dracut/modules.d/98syslog/syslog-cleanup.sh -#usr/lib/dracut/modules.d/98syslog/syslog-genrules.sh #usr/lib/dracut/modules.d/99base +#usr/lib/dracut/modules.d/99base/dracut-dev-lib.sh #usr/lib/dracut/modules.d/99base/dracut-lib.sh #usr/lib/dracut/modules.d/99base/init.sh #usr/lib/dracut/modules.d/99base/initqueue.sh @@ -104,9 +196,17 @@ usr/lib/dracut #usr/lib/dracut/modules.d/99img-lib #usr/lib/dracut/modules.d/99img-lib/img-lib.sh #usr/lib/dracut/modules.d/99img-lib/module-setup.sh +#usr/lib/dracut/modules.d/99memstrack +#usr/lib/dracut/modules.d/99memstrack/memstrack-report.sh +#usr/lib/dracut/modules.d/99memstrack/memstrack-start.sh +#usr/lib/dracut/modules.d/99memstrack/memstrack.service +#usr/lib/dracut/modules.d/99memstrack/module-setup.sh #usr/lib/dracut/modules.d/99shutdown #usr/lib/dracut/modules.d/99shutdown/module-setup.sh #usr/lib/dracut/modules.d/99shutdown/shutdown.sh +#usr/lib/dracut/modules.d/99squash +#usr/lib/dracut/modules.d/99squash/init-squash.sh +#usr/lib/dracut/modules.d/99squash/module-setup.sh #usr/lib/dracut/skipcpio #usr/lib/kernel #usr/lib/kernel/install.d @@ -130,5 +230,4 @@ usr/lib/dracut #usr/share/man/man8/dracut-pre-udev.service.8 #usr/share/man/man8/dracut-shutdown.service.8 #usr/share/man/man8/dracut.8 -#usr/share/man/man8/mkinitrd-suse.8 -#usr/share/man/man8/mkinitrd.8 +#usr/share/pkgconfig/dracut.pc diff --git a/lfs/dracut b/lfs/dracut index c4f7231b1..6bf5825a6 100644 --- a/lfs/dracut +++ b/lfs/dracut @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2022 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 038 +VER = 056
THISAPP = dracut-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 4487bd98000cc536c5c3839a2f112831 +$(DL_FILE)_MD5 = 17d51f3ccc3a3a790bab6da0355ca4c2
install : $(TARGET)
@@ -70,9 +70,10 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dracut-038-always-enable-mdraid.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dracut-038_add_hyperv-keyboard_and_sdhci-pci.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dracut-056-always-enable-mdraid.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dracut-056_add_hyperv-keyboard_and_sdhci-pci.patch
cd $(DIR_APP) && ./configure --prefix=/usr --sbindir=/sbin --sysconfdir=/etc cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install sbindir=/sbin sysconfdir=/etc
diff --git a/src/patches/dracut-038-always-enable-mdraid.patch b/src/patches/dracut-038-always-enable-mdraid.patch deleted file mode 100644 index a65e59a8a..000000000 --- a/src/patches/dracut-038-always-enable-mdraid.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh -index dd7bda2..7bc944c 100755 ---- a/modules.d/90mdraid/parse-md.sh -+++ b/modules.d/90mdraid/parse-md.sh -@@ -4,32 +4,26 @@
- MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
--if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then -- info "rd.md=0: removing MD RAID activation" -- udevproperty rd_NO_MD=1 --else -- # rewrite the md rules to only process the specified raid array -- if [ -n "$MD_UUID" ]; then -- for f in /etc/udev/rules.d/65-md-incremental*.rules; do -- [ -e "$f" ] || continue -- while read line; do -- if [ "${line%%UUID CHECK}" != "$line" ]; then -- printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' -- for uuid in $MD_UUID; do -- printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid -- done; -- printf 'GOTO="md_end"\n' -- printf 'LABEL="md_uuid_ok"\n' -- else -- echo "$line" -- fi -- done < "${f}" > "${f}.new" -- mv "${f}.new" "$f" -- done -- fi -+# rewrite the md rules to only process the specified raid array -+if [ -n "$MD_UUID" ]; then -+ for f in /etc/udev/rules.d/65-md-incremental*.rules; do -+ [ -e "$f" ] || continue -+ while read line; do -+ if [ "${line%%UUID CHECK}" != "$line" ]; then -+ printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' -+ for uuid in $MD_UUID; do -+ printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid -+ done; -+ printf 'GOTO="md_end"\n' -+ printf 'LABEL="md_uuid_ok"\n' -+ else -+ echo "$line" -+ fi -+ done < "${f}" > "${f}.new" -+ mv "${f}.new" "$f" -+ done
- fi
--
- if [ -e /etc/mdadm.conf ] && getargbool 1 rd.md.conf -d -n rd_NO_MDADMCONF; then
udevproperty rd_MDADMCONF=1
rm -f -- $hookdir/pre-pivot/*mdraid-cleanup.sh
diff --git a/src/patches/dracut-038_add_hyperv-keyboard_and_sdhci-pci.patch b/src/patches/dracut-038_add_hyperv-keyboard_and_sdhci-pci.patch deleted file mode 100644 index 19ed15fd3..000000000 --- a/src/patches/dracut-038_add_hyperv-keyboard_and_sdhci-pci.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur dracut-038.org/modules.d/90kernel-modules/module-setup.sh dracut-038/modules.d/90kernel-modules/module-setup.sh ---- dracut-038.org/modules.d/90kernel-modules/module-setup.sh 2014-06-30 12:03:12.000000000 +0200 -+++ dracut-038/modules.d/90kernel-modules/module-setup.sh 2015-05-05 14:58:56.820197839 +0200 -@@ -47,7 +47,7 @@
atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech \
hid-logitech-dj hid-microsoft firewire-ohci \
pcmcia usb_storage nvme hid-hyperv hv-vmbus \
-- sdhci_acpi -+ hyperv-keyboard sdhci_acpi sdhci_pci
if [[ "$(uname -p)" == arm* ]]; then
# arm specific modules
diff --git a/src/patches/dracut-056-always-enable-mdraid.patch b/src/patches/dracut-056-always-enable-mdraid.patch new file mode 100644 index 000000000..f293a7f75 --- /dev/null +++ b/src/patches/dracut-056-always-enable-mdraid.patch @@ -0,0 +1,68 @@ +diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh +index c75e5f70f..9be292d75 100755 +--- a/modules.d/90mdraid/parse-md.sh ++++ b/modules.d/90mdraid/parse-md.sh +@@ -7,37 +7,32 @@ MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
- MD_UUID=$(str_replace "$MD_UUID" "-" "")
- MD_UUID=$(str_replace "$MD_UUID" ":" "")
+-if { [ -z "$MD_UUID" ] && ! getargbool 0 rd.auto; } || ! getargbool 1 rd.md -d -n rd_NO_MD; then +- info "rd.md=0: removing MD RAID activation" +- udevproperty rd_NO_MD=1 +-else +- # rewrite the md rules to only process the specified raid array +- if [ -n "$MD_UUID" ]; then +- for f in /etc/udev/rules.d/65-md-incremental*.rules; do +- [ -e "$f" ] || continue +- while read -r line || [ -n "$line" ]; do +- if [ "${line%%UUID CHECK}" != "$line" ]; then +- for uuid in $MD_UUID; do +- printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr "$uuid" 1 8)-$(expr substr "$uuid" 9 4)-$(expr substr "$uuid" 13 4)-$(expr substr "$uuid" 17 4)-$(expr substr "$uuid" 21 12)" +- done +- # shellcheck disable=SC2016 +- printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' +- for uuid in $MD_UUID; do +- printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr "$uuid" 1 8):$(expr substr "$uuid" 9 8):$(expr substr "$uuid" 17 8):$(expr substr "$uuid" 25 8)" +- done +- printf 'GOTO="md_end"\n' +- printf 'LABEL="md_uuid_ok"\n' +- else +- echo "$line" +- fi +- done < "${f}" > "${f}.new" +- mv "${f}.new" "$f" +- done +- for uuid in $MD_UUID; do +- uuid="$(expr substr "$uuid" 1 8):$(expr substr "$uuid" 9 8):$(expr substr "$uuid" 17 8):$(expr substr "$uuid" 25 8)" +- wait_for_dev "/dev/disk/by-id/md-uuid-${uuid}" +- done +- fi ++# rewrite the md rules to only process the specified raid array ++if [ -n "$MD_UUID" ]; then ++ for f in /etc/udev/rules.d/65-md-incremental*.rules; do ++ [ -e "$f" ] || continue ++ while read -r line || [ -n "$line" ]; do ++ if [ "${line%%UUID CHECK}" != "$line" ]; then ++ for uuid in $MD_UUID; do ++ printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr "$uuid" 1 8)-$(expr substr "$uuid" 9 4)-$(expr substr "$uuid" 13 4)-$(expr substr "$uuid" 17 4)-$(expr substr "$uuid" 21 12)" ++ done ++ # shellcheck disable=SC2016 ++ printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' ++ for uuid in $MD_UUID; do ++ printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr "$uuid" 1 8):$(expr substr "$uuid" 9 8):$(expr substr "$uuid" 17 8):$(expr substr "$uuid" 25 8)" ++ done ++ printf 'GOTO="md_end"\n' ++ printf 'LABEL="md_uuid_ok"\n' ++ else ++ echo "$line" ++ fi ++ done < "${f}" > "${f}.new" ++ mv "${f}.new" "$f" ++ done ++ for uuid in $MD_UUID; do ++ uuid="$(expr substr "$uuid" 1 8):$(expr substr "$uuid" 9 8):$(expr substr "$uuid" 17 8):$(expr substr "$uuid" 25 8)" ++ wait_for_dev "/dev/disk/by-id/md-uuid-${uuid}" ++ done
- fi
- if [ -e /etc/mdadm.conf ] && getargbool 1 rd.md.conf -d -n rd_NO_MDADMCONF; then
diff --git a/src/patches/dracut-056_add_hyperv-keyboard_and_sdhci-pci.patch b/src/patches/dracut-056_add_hyperv-keyboard_and_sdhci-pci.patch new file mode 100644 index 000000000..eb5e7c2f3 --- /dev/null +++ b/src/patches/dracut-056_add_hyperv-keyboard_and_sdhci-pci.patch @@ -0,0 +1,12 @@ +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index e2073a04f..7a96edb58 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -66,6 +66,7 @@ installkernel() {
yenta_socket \
atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \
virtio virtio_ring virtio_pci pci_hyperv \
++ hyperv-keyboard sdhci_acpi sdhci_pci \
"=drivers/pcmcia"
if [[ ${DRACUT_ARCH:-$(uname -m)} == arm* || ${DRACUT_ARCH:-$(uname -m)} == aarch64 || ${DRACUT_ARCH:-$(uname -m)} == riscv* ]]; then
-- 2.34.1