diff --git a/.gitignore b/.gitignore
index 4372dee..5f70d06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,4 @@
 /dracut-051.tar.xz
 /dracut-053.tar.xz
 /dracut-054.tar.xz
+/dracut-055.tar.xz
diff --git a/0001.patch b/0001.patch
deleted file mode 100644
index 76c6824..0000000
--- a/0001.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f634448b293ed232009b25c824f6dcd66961426f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= <johannbg@gmail.com>
-Date: Fri, 14 May 2021 13:46:23 +0000
-Subject: [PATCH] fix(packit): downstream has renamed the master branch to main
-
----
- .packit.yml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/.packit.yml b/.packit.yml
-index 8a995efe..482b4c4d 100644
---- a/.packit.yml
-+++ b/.packit.yml
-@@ -33,7 +33,7 @@ jobs:
- - job: propose_downstream
-   trigger: release
-   metadata:
--    dist_git_branches: master
-+    dist_git_branches: main
- 
- - job: tests
-   trigger: pull_request
-
diff --git a/0002.patch b/0002.patch
deleted file mode 100644
index 859cc2b..0000000
--- a/0002.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b9b6f0ee5b859a562e46a8c4e0dee0261fabf74d Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Fri, 14 May 2021 16:00:27 +0200
-Subject: [PATCH] fix(dracut-util): print error message with trailing newline
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- src/util/util.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/util/util.c b/src/util/util.c
-index 8ae06d6c..b3498df6 100644
---- a/src/util/util.c
-+++ b/src/util/util.c
-@@ -123,7 +123,7 @@ static void usage(enum EXEC_MODE enumExecMode, int ret, char *msg)
- {
-         switch (enumExecMode) {
-         case UNDEFINED:
--                fprintf(stderr, "ERROR: 'dracut-util' has to be called via a symlink to the tool name.");
-+                fprintf(stderr, "ERROR: 'dracut-util' has to be called via a symlink to the tool name.\n");
-                 break;
-         case GETARG:
-                 fprintf(stderr, "ERROR: %s\nUsage: dracut-getarg <KEY>[=[<VALUE>]]\n", msg);
-
diff --git a/0003.patch b/0003.patch
deleted file mode 100644
index 9914b10..0000000
--- a/0003.patch
+++ /dev/null
@@ -1,555 +0,0 @@
-From c08bc8109d4c43beacfa4bcdc20a356102da6d02 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 17 May 2021 11:00:22 +0200
-Subject: [PATCH] fix(base): split out `dracut-dev-lib.sh`
-
-To share the `wait_for_dev` function and use it without side effects on
-install time, split out the needed functions in an extra library.
----
- modules.d/99base/dracut-dev-lib.sh | 119 +++++++++++++++++++++++++++++++++++++
- modules.d/99base/dracut-lib.sh     | 115 +----------------------------------
- modules.d/99base/module-setup.sh   |   9 ++-
- test/TEST-01-BASIC/test.sh         |   1 +
- test/TEST-02-SYSTEMD/test.sh       |   1 +
- test/TEST-03-USR-MOUNT/test.sh     |   1 +
- test/TEST-04-FULL-SYSTEMD/test.sh  |   1 +
- test/TEST-10-RAID/test.sh          |   1 +
- test/TEST-11-LVM/test.sh           |   1 +
- test/TEST-12-RAID-DEG/test.sh      |   1 +
- test/TEST-13-ENC-RAID-LVM/test.sh  |   1 +
- test/TEST-14-IMSM/test.sh          |   1 +
- test/TEST-15-BTRFSRAID/test.sh     |   1 +
- test/TEST-16-DMSQUASH/test.sh      |   1 +
- test/TEST-17-LVM-THIN/test.sh      |   1 +
- test/TEST-20-NFS/test.sh           |   1 +
- test/TEST-30-ISCSI/test.sh         |   1 +
- test/TEST-35-ISCSI-MULTI/test.sh   |   1 +
- test/TEST-40-NBD/test.sh           |   2 +
- test/TEST-50-MULTINIC/test.sh      |   1 +
- test/TEST-98-GETARG/test.sh        |   2 +
- 21 files changed, 145 insertions(+), 118 deletions(-)
-
-diff --git a/modules.d/99base/dracut-dev-lib.sh b/modules.d/99base/dracut-dev-lib.sh
-new file mode 100755
-index 00000000..5083f4f2
---- /dev/null
-+++ b/modules.d/99base/dracut-dev-lib.sh
-@@ -0,0 +1,119 @@
-+#!/bin/sh
-+
-+# get a systemd-compatible unit name from a path
-+# (mimicks unit_name_from_path_instance())
-+dev_unit_name() {
-+    local dev="$1"
-+
-+    if command -v systemd-escape > /dev/null; then
-+        systemd-escape -p -- "$dev"
-+        return $?
-+    fi
-+
-+    if [ "$dev" = "/" -o -z "$dev" ]; then
-+        printf -- "-"
-+        return 0
-+    fi
-+
-+    dev="${1%%/}"
-+    dev="${dev##/}"
-+    # shellcheck disable=SC1003
-+    dev="$(str_replace "$dev" '\' '\x5c')"
-+    dev="$(str_replace "$dev" '-' '\x2d')"
-+    if [ "${dev##.}" != "$dev" ]; then
-+        dev="\x2e${dev##.}"
-+    fi
-+    dev="$(str_replace "$dev" '/' '-')"
-+
-+    printf -- "%s" "$dev"
-+}
-+
-+# set_systemd_timeout_for_dev [-n] <dev> [<timeout>]
-+# Set 'rd.timeout' as the systemd timeout for <dev>
-+set_systemd_timeout_for_dev() {
-+    local _name
-+    local _needreload
-+    local _noreload
-+    local _timeout
-+
-+    [ -z "$DRACUT_SYSTEMD" ] && return 0
-+
-+    if [ "$1" = "-n" ]; then
-+        _noreload=1
-+        shift
-+    fi
-+
-+    if [ -n "$2" ]; then
-+        _timeout="$2"
-+    else
-+        _timeout=$(getarg rd.timeout)
-+    fi
-+
-+    _timeout=${_timeout:-0}
-+
-+    _name=$(dev_unit_name "$1")
-+    if ! [ -L "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" ]; then
-+        [ -d "${PREFIX}"/etc/systemd/system/initrd.target.wants ] || mkdir -p "${PREFIX}"/etc/systemd/system/initrd.target.wants
-+        ln -s ../"${_name}".device "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device"
-+        type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/initrd.target.wants/"${_name}".device
-+        _needreload=1
-+    fi
-+
-+    if ! [ -f "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" ]; then
-+        mkdir -p "${PREFIX}/etc/systemd/system/${_name}.device.d"
-+        {
-+            echo "[Unit]"
-+            echo "JobTimeoutSec=$_timeout"
-+            echo "JobRunningTimeoutSec=$_timeout"
-+        } > "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf"
-+        type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/"${_name}".device.d/timeout.conf
-+        _needreload=1
-+    fi
-+
-+    if [ -z "$PREFIX" ] && [ "$_needreload" = 1 ] && [ -z "$_noreload" ]; then
-+        /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload
-+    fi
-+}
-+
-+# wait_for_dev <dev> [<timeout>]
-+#
-+# Installs a initqueue-finished script,
-+# which will cause the main loop only to exit,
-+# if the device <dev> is recognized by the system.
-+wait_for_dev() {
-+    local _name
-+    local _noreload
-+
-+    if [ "$1" = "-n" ]; then
-+        _noreload=-n
-+        shift
-+    fi
-+
-+    _name="$(str_replace "$1" '/' '\x2f')"
-+
-+    type mark_hostonly > /dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh"
-+
-+    [ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
-+
-+    printf '[ -e "%s" ]\n' "$1" \
-+        >> "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh"
-+    {
-+        printf '[ -e "%s" ] || ' "$1"
-+        printf 'warn "\"%s\" does not exist"\n' "$1"
-+    } >> "${PREFIX}$hookdir/emergency/80-${_name}.sh"
-+
-+    set_systemd_timeout_for_dev $_noreload "$@"
-+}
-+
-+cancel_wait_for_dev() {
-+    local _name
-+    _name="$(str_replace "$1" '/' '\x2f')"
-+    rm -f -- "$hookdir/initqueue/finished/devexists-${_name}.sh"
-+    rm -f -- "$hookdir/emergency/80-${_name}.sh"
-+    if [ -n "$DRACUT_SYSTEMD" ]; then
-+        _name=$(dev_unit_name "$1")
-+        rm -f -- "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device"
-+        rm -f -- "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf"
-+        /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload
-+    fi
-+}
-diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
-index c35658fa..dc94e93f 100755
---- a/modules.d/99base/dracut-lib.sh
-+++ b/modules.d/99base/dracut-lib.sh
-@@ -1,5 +1,7 @@
- #!/bin/sh
- 
-+type wait_for_dev > /dev/null 2>&1 || . /lib/dracut-dev-lib.sh
-+
- export DRACUT_SYSTEMD
- export NEWROOT
- if [ -n "$NEWROOT" ]; then
-@@ -838,119 +840,6 @@ wait_for_mount() {
-     } >> "$hookdir/emergency/90-${_name}.sh"
- }
- 
--# get a systemd-compatible unit name from a path
--# (mimicks unit_name_from_path_instance())
--dev_unit_name() {
--    local dev="$1"
--
--    if command -v systemd-escape > /dev/null; then
--        systemd-escape -p -- "$dev"
--        return
--    fi
--
--    if [ "$dev" = "/" -o -z "$dev" ]; then
--        printf -- "-"
--        exit 0
--    fi
--
--    dev="${1%%/}"
--    dev="${dev##/}"
--    # shellcheck disable=SC1003
--    dev="$(str_replace "$dev" '\' '\x5c')"
--    dev="$(str_replace "$dev" '-' '\x2d')"
--    if [ "${dev##.}" != "$dev" ]; then
--        dev="\x2e${dev##.}"
--    fi
--    dev="$(str_replace "$dev" '/' '-')"
--
--    printf -- "%s" "$dev"
--}
--
--# set_systemd_timeout_for_dev <dev>
--# Set 'rd.timeout' as the systemd timeout for <dev>
--
--set_systemd_timeout_for_dev() {
--    local _name
--    local _needreload
--    local _noreload
--    local _timeout
--
--    if [ "$1" = "-n" ]; then
--        _noreload=1
--        shift
--    fi
--
--    _timeout=$(getarg rd.timeout)
--    _timeout=${_timeout:-0}
--
--    if [ -n "$DRACUT_SYSTEMD" ]; then
--        _name=$(dev_unit_name "$1")
--        if ! [ -L "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" ]; then
--            [ -d "${PREFIX}"/etc/systemd/system/initrd.target.wants ] || mkdir -p "${PREFIX}"/etc/systemd/system/initrd.target.wants
--            ln -s ../"${_name}".device "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device"
--            type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/initrd.target.wants/"${_name}".device
--            _needreload=1
--        fi
--
--        if ! [ -f "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" ]; then
--            mkdir -p "${PREFIX}/etc/systemd/system/${_name}.device.d"
--            {
--                echo "[Unit]"
--                echo "JobTimeoutSec=$_timeout"
--                echo "JobRunningTimeoutSec=$_timeout"
--            } > "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf"
--            type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/"${_name}".device.d/timeout.conf
--            _needreload=1
--        fi
--
--        if [ -z "$PREFIX" ] && [ "$_needreload" = 1 ] && [ -z "$_noreload" ]; then
--            /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload
--        fi
--    fi
--}
--# wait_for_dev <dev>
--#
--# Installs a initqueue-finished script,
--# which will cause the main loop only to exit,
--# if the device <dev> is recognized by the system.
--wait_for_dev() {
--    local _name
--    local _noreload
--
--    if [ "$1" = "-n" ]; then
--        _noreload=-n
--        shift
--    fi
--
--    _name="$(str_replace "$1" '/' '\x2f')"
--
--    type mark_hostonly > /dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh"
--
--    [ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
--
--    printf '[ -e "%s" ]\n' "$1" \
--        >> "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh"
--    {
--        printf '[ -e "%s" ] || ' "$1"
--        printf 'warn "\"%s\" does not exist"\n' "$1"
--    } >> "${PREFIX}$hookdir/emergency/80-${_name}.sh"
--
--    set_systemd_timeout_for_dev $_noreload "$1"
--}
--
--cancel_wait_for_dev() {
--    local _name
--    _name="$(str_replace "$1" '/' '\x2f')"
--    rm -f -- "$hookdir/initqueue/finished/devexists-${_name}.sh"
--    rm -f -- "$hookdir/emergency/80-${_name}.sh"
--    if [ -n "$DRACUT_SYSTEMD" ]; then
--        _name=$(dev_unit_name "$1")
--        rm -f -- "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device"
--        rm -f -- "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf"
--        /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload
--    fi
--}
--
- killproc() {
-     debug_off
-     local _exe
-diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
-index a52c643e..7eb0a277 100755
---- a/modules.d/99base/module-setup.sh
-+++ b/modules.d/99base/module-setup.sh
-@@ -50,6 +50,7 @@ install() {
-     mkdir -p "${initdir}"/tmp
- 
-     inst_simple "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh"
-+    inst_simple "$moddir/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-     mkdir -p "${initdir}"/var
- 
-     if ! dracut_module_included "systemd"; then
-@@ -117,10 +118,8 @@ install() {
-                 fi
-                 export PREFIX="$initdir"
- 
--                # suppress getarg for `rd.memdebug`
--                export DEBUG_MEM_LEVEL=0
--                # shellcheck source=dracut-lib.sh
--                . "$moddir/dracut-lib.sh"
-+                # shellcheck source=dracut-dev-lib.sh
-+                . "$moddir/dracut-dev-lib.sh"
- 
-                 for _dev in "${host_devs[@]}"; do
-                     for _dev2 in "${root_devs[@]}"; do
-@@ -137,7 +136,7 @@ install() {
-                     _pdev=$(get_persistent_dev "$_dev")
- 
-                     case "$_pdev" in
--                        /dev/?*) wait_for_dev "$_pdev" ;;
-+                        /dev/?*) wait_for_dev "$_pdev" 0 ;;
-                         *) ;;
-                     esac
-                 done
-diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
-index 7ac2a8b9..012f2e5a 100755
---- a/test/TEST-01-BASIC/test.sh
-+++ b/test/TEST-01-BASIC/test.sh
-@@ -49,6 +49,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh
-index a8185b09..8b6b5930 100755
---- a/test/TEST-02-SYSTEMD/test.sh
-+++ b/test/TEST-02-SYSTEMD/test.sh
-@@ -48,6 +48,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh
-index 13361173..3bb7fab7 100755
---- a/test/TEST-03-USR-MOUNT/test.sh
-+++ b/test/TEST-03-USR-MOUNT/test.sh
-@@ -69,6 +69,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh
-index 9b8fab24..38cb1464 100755
---- a/test/TEST-04-FULL-SYSTEMD/test.sh
-+++ b/test/TEST-04-FULL-SYSTEMD/test.sh
-@@ -93,6 +93,7 @@ test_setup() {
-         inst_multiple -o {,/usr}/lib/systemd/system/"dracut*"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh
-index f03d2952..918d2a71 100755
---- a/test/TEST-10-RAID/test.sh
-+++ b/test/TEST-10-RAID/test.sh
-@@ -46,6 +46,7 @@ test_setup() {
-         inst_multiple -o ${_terminfodir}/l/linux
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh
-index e44b21ff..12384c09 100755
---- a/test/TEST-11-LVM/test.sh
-+++ b/test/TEST-11-LVM/test.sh
-@@ -50,6 +50,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh
-index 8d56f658..beb81381 100755
---- a/test/TEST-12-RAID-DEG/test.sh
-+++ b/test/TEST-12-RAID-DEG/test.sh
-@@ -80,6 +80,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh
-index 2d76c982..968eafe7 100755
---- a/test/TEST-13-ENC-RAID-LVM/test.sh
-+++ b/test/TEST-13-ENC-RAID-LVM/test.sh
-@@ -78,6 +78,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh
-index ab4f8119..78b087f5 100755
---- a/test/TEST-14-IMSM/test.sh
-+++ b/test/TEST-14-IMSM/test.sh
-@@ -75,6 +75,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
-index 75e97703..47edac81 100755
---- a/test/TEST-15-BTRFSRAID/test.sh
-+++ b/test/TEST-15-BTRFSRAID/test.sh
-@@ -53,6 +53,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh
-index 73c4c7f1..2a68f305 100755
---- a/test/TEST-16-DMSQUASH/test.sh
-+++ b/test/TEST-16-DMSQUASH/test.sh
-@@ -88,6 +88,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-17-LVM-THIN/test.sh b/test/TEST-17-LVM-THIN/test.sh
-index 6f6886ec..7dbcca51 100755
---- a/test/TEST-17-LVM-THIN/test.sh
-+++ b/test/TEST-17-LVM-THIN/test.sh
-@@ -48,6 +48,7 @@ test_setup() {
-         inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup"
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
-index dc9fa0b0..0be60a80 100755
---- a/test/TEST-20-NFS/test.sh
-+++ b/test/TEST-20-NFS/test.sh
-@@ -320,6 +320,7 @@ test_setup() {
-         done
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
-index e1d10265..5f0063f8 100755
---- a/test/TEST-30-ISCSI/test.sh
-+++ b/test/TEST-30-ISCSI/test.sh
-@@ -162,6 +162,7 @@ test_setup() {
-         inst_simple /etc/os-release
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-35-ISCSI-MULTI/test.sh b/test/TEST-35-ISCSI-MULTI/test.sh
-index 09b939ab..628131e0 100755
---- a/test/TEST-35-ISCSI-MULTI/test.sh
-+++ b/test/TEST-35-ISCSI-MULTI/test.sh
-@@ -174,6 +174,7 @@ test_setup() {
-         inst_simple /etc/os-release
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh
-index df1bcb2f..178dff40 100755
---- a/test/TEST-40-NBD/test.sh
-+++ b/test/TEST-40-NBD/test.sh
-@@ -219,6 +219,7 @@ make_encrypted_root() {
-         inst_multiple -o ${_terminfodir}/l/linux
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-@@ -299,6 +300,7 @@ make_client_root() {
-         inst_multiple -o ${_terminfodir}/l/linux
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
-index e96cef7c..81b1f685 100755
---- a/test/TEST-50-MULTINIC/test.sh
-+++ b/test/TEST-50-MULTINIC/test.sh
-@@ -270,6 +270,7 @@ test_setup() {
-         done
- 
-         inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-+        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-         inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-diff --git a/test/TEST-98-GETARG/test.sh b/test/TEST-98-GETARG/test.sh
-index 9a00470b..012396ba 100755
---- a/test/TEST-98-GETARG/test.sh
-+++ b/test/TEST-98-GETARG/test.sh
-@@ -15,6 +15,7 @@ test_setup() {
-     ln -sfnr "$basedir"/dracut-util "$TESTDIR"/dracut-getarg
-     ln -sfnr "$basedir"/dracut-util "$TESTDIR"/dracut-getargs
-     ln -sfnr "$basedir"/modules.d/99base/dracut-lib.sh "$TESTDIR"/dracut-lib.sh
-+    ln -sfnr "$basedir"/modules.d/99base/dracut-dev-lib.sh "$TESTDIR"/dracut-dev-lib.sh
-     return 0
- }
- 
-@@ -85,6 +86,7 @@ test_run() {
- 
-         export PATH=".:$PATH"
- 
-+        . dracut-dev-lib.sh
-         . dracut-lib.sh
- 
-         debug_off() {
-
diff --git a/0004.patch b/0004.patch
deleted file mode 100644
index 7cd4449..0000000
--- a/0004.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 7275c6f6a0f6808cd939ea5bdf1244c7bd13ba44 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 17 May 2021 14:22:10 +0200
-Subject: [PATCH] feat(dracut.sh): detect running in a container
-
-Don't try to `mknod` by setting DRACUT_NO_MKNOD.
-Don't try to `cp` extended attributrs by setting DRACUT_NO_XATTR.
----
- dracut.sh | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index bfb7a1ac..24e1c2e7 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1171,6 +1171,13 @@ if [[ -f $dracutbasedir/dracut-version.sh ]]; then
-     . "$dracutbasedir"/dracut-version.sh
- fi
- 
-+if systemd-detect-virt -c &> /dev/null; then
-+    export DRACUT_NO_MKNOD=1 DRACUT_NO_XATTR=1
-+    if [[ $hostonly ]]; then
-+        printf "%s\n" "dracut: WARNING: running in hostonly mode in a container!!"
-+    fi
-+fi
-+
- if [[ -f $dracutbasedir/dracut-init.sh ]]; then
-     # shellcheck source=./dracut-init.sh
-     . "$dracutbasedir"/dracut-init.sh
-@@ -1888,7 +1895,7 @@ if [[ $kernel_only != yes ]]; then
-         # shellcheck disable=SC2174
-         mkdir -m 0755 -p "${initdir}/lib/dracut/hooks/$_d"
-     done
--    if [[ $EUID == "0" ]]; then
-+    if [[ $EUID == "0" ]] && ! [[ $DRACUT_NO_MKNOD ]]; then
-         [[ -c ${initdir}/dev/null ]] || mknod "${initdir}"/dev/null c 1 3
-         [[ -c ${initdir}/dev/kmsg ]] || mknod "${initdir}"/dev/kmsg c 1 11
-         [[ -c ${initdir}/dev/console ]] || mknod "${initdir}"/dev/console c 5 1
-
diff --git a/0005.patch b/0005.patch
deleted file mode 100644
index e4b162a..0000000
--- a/0005.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 148e420be5b5809aa8d5033f47477573bbbf3e60 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Tue, 18 May 2021 10:13:56 +0200
-Subject: [PATCH] fix(base): add missing `str_replace` to `dracut-dev-lib.sh`
-
-```
-dracut-dev-lib.sh: line 92: str_replace: command not found
-dracut-dev-lib.sh: line 98: /var/tmp/dracut.sabKZg/initramfs/initqueue/finished/devexists-.sh: No such file or directory
-dracut-dev-lib.sh: line 83: /var/tmp/dracut.sabKZg/initramfs/emergency/80-.sh: No such file or directory
-```
----
- modules.d/99base/dracut-dev-lib.sh | 20 ++++++++++++++++++++
- modules.d/99base/module-setup.sh   |  1 +
- 2 files changed, 21 insertions(+)
-
-diff --git a/modules.d/99base/dracut-dev-lib.sh b/modules.d/99base/dracut-dev-lib.sh
-index 5083f4f2..0df22b82 100755
---- a/modules.d/99base/dracut-dev-lib.sh
-+++ b/modules.d/99base/dracut-dev-lib.sh
-@@ -1,5 +1,25 @@
- #!/bin/sh
- 
-+# replaces all occurrences of 'search' in 'str' with 'replacement'
-+#
-+# str_replace str search replacement
-+#
-+# example:
-+# str_replace '  one two  three  ' ' ' '_'
-+str_replace() {
-+    local in="$1"
-+    local s="$2"
-+    local r="$3"
-+    local out=''
-+
-+    while [ "${in##*"$s"*}" != "$in" ]; do
-+        chop="${in%%"$s"*}"
-+        out="${out}${chop}$r"
-+        in="${in#*"$s"}"
-+    done
-+    echo "${out}${in}"
-+}
-+
- # get a systemd-compatible unit name from a path
- # (mimicks unit_name_from_path_instance())
- dev_unit_name() {
-diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
-index 7eb0a277..07c33eef 100755
---- a/modules.d/99base/module-setup.sh
-+++ b/modules.d/99base/module-setup.sh
-@@ -117,6 +117,7 @@ install() {
-                     export DRACUT_SYSTEMD=1
-                 fi
-                 export PREFIX="$initdir"
-+                export hookdir=/lib/dracut/hooks
- 
-                 # shellcheck source=dracut-dev-lib.sh
-                 . "$moddir/dracut-dev-lib.sh"
-
diff --git a/0006.patch b/0006.patch
deleted file mode 100644
index ac65703..0000000
--- a/0006.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From fa63c9be13660ae5223f9c3e87234ab281b97a95 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 17 May 2021 13:07:09 +0200
-Subject: [PATCH] ci: add shfmt to Fedora containers
-
----
- test/container/Dockerfile-Fedora-33      | 1 +
- test/container/Dockerfile-Fedora-34      | 1 +
- test/container/Dockerfile-Fedora-latest  | 1 +
- test/container/Dockerfile-Fedora-rawhide | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/test/container/Dockerfile-Fedora-33 b/test/container/Dockerfile-Fedora-33
-index 51ca39f4..8e09cf5e 100644
---- a/test/container/Dockerfile-Fedora-33
-+++ b/test/container/Dockerfile-Fedora-33
-@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
-     python3-imgcreate \
-     which \
-     ShellCheck \
-+    shfmt \
-     && dnf -y update && dnf clean all
- 
- # Set default command
-diff --git a/test/container/Dockerfile-Fedora-34 b/test/container/Dockerfile-Fedora-34
-index 7e295e9a..b9701f6d 100644
---- a/test/container/Dockerfile-Fedora-34
-+++ b/test/container/Dockerfile-Fedora-34
-@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
-     python3-imgcreate \
-     which \
-     ShellCheck \
-+    shfmt \
-     && dnf -y update && dnf clean all
- 
- # Set default command
-diff --git a/test/container/Dockerfile-Fedora-latest b/test/container/Dockerfile-Fedora-latest
-index 81d5b9b9..3fc4a370 100644
---- a/test/container/Dockerfile-Fedora-latest
-+++ b/test/container/Dockerfile-Fedora-latest
-@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
-     python3-imgcreate \
-     which \
-     ShellCheck \
-+    shfmt \
-     && dnf -y update && dnf clean all
- 
- # Set default command
-diff --git a/test/container/Dockerfile-Fedora-rawhide b/test/container/Dockerfile-Fedora-rawhide
-index bd75e611..2d5653a7 100644
---- a/test/container/Dockerfile-Fedora-rawhide
-+++ b/test/container/Dockerfile-Fedora-rawhide
-@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
-     python3-imgcreate \
-     which \
-     ShellCheck \
-+    shfmt \
-     && dnf -y update && dnf clean all
- 
- # Set default command
-
diff --git a/0007.patch b/0007.patch
deleted file mode 100644
index 7154a68..0000000
--- a/0007.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 636d6df3134dde1dac72241937724bc59deb9303 Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong@redhat.com>
-Date: Wed, 7 Apr 2021 02:11:41 +0800
-Subject: [PATCH] fix(squash): don't mount the mount points if already mounted
-
-It is possible that user setup some early mount in the rootfs even
-earlier, so just be more robust and cover that case too.
-
-Signed-off-by: Kairui Song <kasong@redhat.com>
----
- modules.d/99squash/init-squash.sh  | 17 +++++++++++------
- modules.d/99squash/module-setup.sh |  4 ++--
- 2 files changed, 13 insertions(+), 8 deletions(-)
-
-diff --git a/modules.d/99squash/init-squash.sh b/modules.d/99squash/init-squash.sh
-index 3de6f819..59769f62 100755
---- a/modules.d/99squash/init-squash.sh
-+++ b/modules.d/99squash/init-squash.sh
-@@ -1,12 +1,17 @@
- #!/bin/sh
- PATH=/bin:/sbin
- 
--# Basic mounts for mounting a squash image
--mkdir /proc /sys /dev /run
--mount -t proc -o nosuid,noexec,nodev proc /proc
--mount -t sysfs -o nosuid,noexec,nodev sysfs /sys
--mount -t devtmpfs -o mode=755,noexec,nosuid,strictatime devtmpfs /dev
--mount -t tmpfs -o mode=755,nodev,nosuid,strictatime tmpfs /run
-+[ -e /proc/self/mounts ] \
-+    || (mkdir -p /proc && mount -t proc -o nosuid,noexec,nodev proc /proc)
-+
-+grep -q '^sysfs /sys sysfs' /proc/self/mounts \
-+    || (mkdir -p /sys && mount -t sysfs -o nosuid,noexec,nodev sysfs /sys)
-+
-+grep -q '^devtmpfs /dev devtmpfs' /proc/self/mounts \
-+    || (mkdir -p /dev && mount -t devtmpfs -o mode=755,noexec,nosuid,strictatime devtmpfs /dev)
-+
-+grep -q '^tmpfs /run tmpfs' /proc/self/mounts \
-+    || (mkdir -p /run && mount -t tmpfs -o mode=755,noexec,nosuid,strictatime tmpfs /run)
- 
- # Load required modules
- modprobe loop
-diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh
-index 77520027..e3196213 100644
---- a/modules.d/99squash/module-setup.sh
-+++ b/modules.d/99squash/module-setup.sh
-@@ -42,11 +42,11 @@ installpost() {
-     # Install required modules and binaries for the squash image init script.
-     if [[ $_busybox ]]; then
-         inst "$_busybox" /usr/bin/busybox
--        for _i in sh echo mount modprobe mkdir switch_root; do
-+        for _i in sh echo mount modprobe mkdir switch_root grep; do
-             ln_r /usr/bin/busybox /usr/bin/$_i
-         done
-     else
--        DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root
-+        DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root grep
-     fi
- 
-     hostonly="" instmods "loop" "squashfs" "overlay"
-
diff --git a/0008.patch b/0008.patch
deleted file mode 100644
index be44ece..0000000
--- a/0008.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 9355cb8ea5024533210067373657dc337d63ecb9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= <johannbg@gmail.com>
-Date: Tue, 18 May 2021 12:39:34 +0000
-Subject: [PATCH] fix(bash): minor cleanups
-
-- Remove hard coded path to binary
-- Add missing license header
-- Document sections
-- refactor install section
----
- modules.d/00bash/module-setup.sh | 28 ++++++++++++++++++++--------
- 1 file changed, 20 insertions(+), 8 deletions(-)
-
-diff --git a/modules.d/00bash/module-setup.sh b/modules.d/00bash/module-setup.sh
-index f72c297b..89ef6541 100755
---- a/modules.d/00bash/module-setup.sh
-+++ b/modules.d/00bash/module-setup.sh
-@@ -1,20 +1,32 @@
- #!/bin/bash
-+# This file is part of dracut.
-+# SPDX-License-Identifier: GPL-2.0-or-later
- 
--# called by dracut
-+# Prerequisite check(s) for module.
- check() {
--    require_binaries /bin/bash
-+
-+    # If the binary(s) requirements are not fulfilled the module can't be installed.
-+    require_binaries bash || return 1
-+
-+    # Return 255 to only include the module, if another module requires it.
-+    return 255
-+
- }
- 
--# called by dracut
-+# Module dependency requirements.
- depends() {
-+
-+    # Return 0 to include the dependent module(s) in the initramfs.
-     return 0
-+
- }
- 
--# called by dracut
-+# Install the required file(s) and directories for the module in the initramfs.
- install() {
--    # If another shell is already installed, do not use bash
--    [[ -x $initdir/bin/sh ]] && return
- 
--    # Prefer bash as /bin/sh if it is available.
--    inst /bin/bash && ln -sf bash "${initdir}/bin/sh"
-+    inst /bin/bash
-+
-+    # Prefer bash as default shell if no other shell is preferred.
-+    [[ -L $initdir/bin/sh ]] || ln -sf bash "${initdir}/bin/sh"
-+
- }
-
diff --git a/0009.patch b/0009.patch
deleted file mode 100644
index e3890f7..0000000
--- a/0009.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c1ab36139d416e580e768c29f2addf7ccbc2c612 Mon Sep 17 00:00:00 2001
-From: Marcos Mello <marcosfrm@gmail.com>
-Date: Thu, 20 May 2021 15:41:26 -0300
-Subject: [PATCH] fix(install): sane default --kerneldir
-
-If --kerneldir is not specified, use /lib/modules/$(uname -r).
-
-Fixes #1505
----
- src/install/dracut-install.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c
-index 9f044ae0..3fd70fc8 100644
---- a/src/install/dracut-install.c
-+++ b/src/install/dracut-install.c
-@@ -1167,7 +1167,10 @@ static int parse_argv(int argc, char *argv[])
-         if (!kerneldir) {
-                 struct utsname buf;
-                 uname(&buf);
--                kerneldir = strdup(buf.version);
-+                if (asprintf(&kerneldir, "%s%s", "/lib/modules/", buf.release) < 0) {
-+                        log_error("Out of memory!");
-+                        exit(EXIT_FAILURE);
-+                }
-         }
- 
-         if (arg_modalias) {
-
diff --git a/0010.patch b/0010.patch
deleted file mode 100644
index 94ce603..0000000
--- a/0010.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0a6007bf4f472565d2c0c205a56edea7ba3e3bc3 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 21 May 2021 11:30:47 +0200
-Subject: [PATCH] fix(dracut): pipe hardlink output to `dinfo`
-
-Otherwise the output is cluttered with:
-```
-Mode:           real
-Files:          1364
-Linked:         5 files
-Compared:       0 xattrs
-Compared:       384 files
-Saved:          12.84 KiB
-Duration:       0.052674 seconds
-```
----
- dracut.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 24e1c2e7..60ac46f4 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -2092,7 +2092,7 @@ done
- 
- if [[ $do_hardlink == yes ]] && command -v hardlink > /dev/null; then
-     dinfo "*** Hardlinking files ***"
--    hardlink "$initdir" 2>&1
-+    hardlink "$initdir" 2>&1 | dinfo
-     dinfo "*** Hardlinking files done ***"
- fi
- 
-
diff --git a/0011.patch b/0011.patch
deleted file mode 100644
index 6b31ffa..0000000
--- a/0011.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a277a5fc7acc0a9e8d853f09671495f9d27645c1 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 21 May 2021 12:19:32 +0200
-Subject: [PATCH] fix(dracut-functions): get_maj_min without
- get_maj_min_cache_file set
-
-If `get_maj_min_cache_file` is unset `get_maj_min()` would error out.
-
-Fix it to work without a cache file set.
----
- dracut-functions.sh | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/dracut-functions.sh b/dracut-functions.sh
-index 1991c62e..5206bd21 100755
---- a/dracut-functions.sh
-+++ b/dracut-functions.sh
-@@ -234,13 +234,20 @@ get_fs_env() {
- # 8:2
- get_maj_min() {
-     local _majmin
--    out="$(grep -m1 -oP "^$1 \K\S+$" "${get_maj_min_cache_file:?}")"
--    if [ -z "$out" ]; then
-+    local _out
-+
-+    if [[ $get_maj_min_cache_file ]]; then
-+        _out="$(grep -m1 -oP "^$1 \K\S+$" "$get_maj_min_cache_file")"
-+    fi
-+
-+    if ! [[ "$_out" ]]; then
-         _majmin="$(stat -L -c '%t:%T' "$1" 2> /dev/null)"
--        out="$(printf "%s" "$((0x${_majmin%:*})):$((0x${_majmin#*:}))")"
--        echo "$1 $out" >> "${get_maj_min_cache_file:?}"
-+        _out="$(printf "%s" "$((0x${_majmin%:*})):$((0x${_majmin#*:}))")"
-+        if [[ $get_maj_min_cache_file ]]; then
-+            echo "$1 $_out" >> "$get_maj_min_cache_file"
-+        fi
-     fi
--    echo -n "$out"
-+    echo -n "$_out"
- }
- 
- # get_devpath_block <device>
diff --git a/dracut.spec b/dracut.spec
index 536891a..ef9b56d 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -5,10 +5,10 @@
 # strip the automatically generated dep here and instead co-own the
 # directory.
 %global __requires_exclude pkg-config
-%define dist_free_release 12.git20210521
+%define dist_free_release 1
 
 Name: dracut
-Version: 054
+Version: 055
 Release: %{dist_free_release}%{?dist}
 
 Summary: Initramfs generator using udev
@@ -29,17 +29,6 @@ URL: https://dracut.wiki.kernel.org/
 # Source can be generated by
 # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%%{version};sf=tgz
 Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
-Patch1: 0001.patch
-Patch2: 0002.patch
-Patch3: 0003.patch
-Patch4: 0004.patch
-Patch5: 0005.patch
-Patch6: 0006.patch
-Patch7: 0007.patch
-Patch8: 0008.patch
-Patch9: 0009.patch
-Patch10: 0010.patch
-Patch11: 0011.patch
 
 Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
 
@@ -495,6 +484,10 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
 
 %changelog
+* Thu May 27 2021 Harald Hoyer <harald@redhat.com> - 055-1
+- version 055
+- install the missing fsck utils
+
 * Fri May 21 2021 Harald Hoyer <harald@redhat.com> - 054-12.git20210521
 - fix `get_maj_min` for kdump
 - suppress hardlink output
diff --git a/sources b/sources
index e2febc9..983b731 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dracut-054.tar.xz) = 7cff87b9cc6c7323044610c4ddda9685a8eba4ebd320fa39071707d6c324ed69da722ecb0257be9bbf2bb8bc11fed6a3dc7c34c5d8229e00b6f261835a33503b
+SHA512 (dracut-055.tar.xz) = 2d2ea2889d9013bc94245bd7d1a2154f24d02bd9c2f7dbb28e5968e17d918e6598c68d85b0f551f968218980a80b19361ca0c9e8e94997ba54f4c09afcd6d866