From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] dracut: Update to 056
Date: Fri, 04 Mar 2022 11:18:06 +0000 [thread overview]
Message-ID: <6B002198-B5CC-45F5-8808-BAE5FCF5BAFE@ipfire.org> (raw)
In-Reply-To: <6edae0df-4931-0b83-dcd3-cd22146e6074@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 22176 bytes --]
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(a)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(a)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(a)ipfire.org> #
> +# Copyright (C) 2007-2022 IPFire Team <info(a)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
next prev parent reply other threads:[~2022-03-04 11:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-03 21:22 Peter Müller
2022-03-04 11:18 ` Michael Tremer [this message]
2022-03-05 7:49 alf
2022-03-05 9:00 alf
2022-03-05 22:13 alf
2022-03-05 23:12 ` alf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6B002198-B5CC-45F5-8808-BAE5FCF5BAFE@ipfire.org \
--to=michael.tremer@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox