diff --git a/.gitignore b/.gitignore
index 79197b6..8c2bdbf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/dracut-*.tar.xz
+/dracut-*.tar.*
diff --git a/1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch b/1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch
deleted file mode 100644
index 8803e85..0000000
--- a/1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 0636c42eaddef24903b66aa8d0cb392ba24b9a3d Mon Sep 17 00:00:00 2001
-From: "Brian C. Lane" <bcl@redhat.com>
-Date: Fri, 22 Jul 2022 16:10:20 -0700
-Subject: [PATCH] fix(dmsquash-live): run checkisomd5 on correct device
-
-When the new grub2 iso is written to a usb drive the disk label points
-to a partition that does not include the full iso image. This causes
-checkisomd5 to run with the wrong data and it fails.
-
-This patch adds a check that will test to see if there is a parent
-device that is a disk, and to run checkisomd5 on it instead of on the
-partition pointed to by the label.
-
-When running from an iso this will return the original
-/dev/disk/by-label/ path, and when running from a usb drive it will
-return the parent device (eg. /dev/sda).
-
-Resolves: rhbz#2107858
----
- .../90dmsquash-live/dmsquash-live-root.sh     | 33 +++++++++++++++++--
- modules.d/90dmsquash-live/module-setup.sh     |  2 +-
- 2 files changed, 31 insertions(+), 4 deletions(-)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index abc68407f4..665bff87c1 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -33,8 +33,35 @@ overlay_size=$(getarg rd.live.overlay.size=)
- getargbool 0 rd.live.overlay.thin && thin_snapshot="yes"
- getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
- 
-+# Take a path to a disk label and return the parent disk if it is a partition
-+# Otherwise returns the original path
-+function get_check_dev() {
-+    local _udevinfo
-+    dev_path="$(udevadm info -q path --name "$1")"
-+    _udevinfo="$(udevadm info -q property --path "${dev_path}")"
-+    strstr "$_udevinfo" "DEVTYPE=partition" || {
-+        echo "$1"
-+        return
-+    }
-+    parent="${dev_path%/*}"
-+    _udevinfo="$(udevadm info -q property --path "${parent}")"
-+    strstr "$_udevinfo" "DEVTYPE=disk" || {
-+        echo "$1"
-+        return
-+    }
-+    strstr "$_udevinfo" "ID_FS_TYPE=iso9660" || {
-+        echo "$1"
-+        return
-+    }
-+
-+    # Return the name of the parent disk device
-+    echo "$_udevinfo" | grep "DEVNAME=" | sed 's/DEVNAME=//'
-+}
-+
-+# Find the right device to run check on
-+check_dev=$(get_check_dev "$livedev")
- # CD/DVD media check
--[ -b "$livedev" ] && fs=$(blkid -s TYPE -o value "$livedev")
-+[ -b "$check_dev" ] && fs=$(blkid -s TYPE -o value "$check_dev")
- if [ "$fs" = "iso9660" -o "$fs" = "udf" ]; then
-     check="yes"
- fi
-@@ -42,10 +69,10 @@ getarg rd.live.check -d check || check=""
- if [ -n "$check" ]; then
-     type plymouth > /dev/null 2>&1 && plymouth --hide-splash
-     if [ -n "$DRACUT_SYSTEMD" ]; then
--        p=$(dev_unit_name "$livedev")
-+        p=$(dev_unit_name "$check_dev")
-         systemctl start checkisomd5@"${p}".service
-     else
--        checkisomd5 --verbose "$livedev"
-+        checkisomd5 --verbose "$check_dev"
-     fi
-     if [ $? -eq 1 ]; then
-         die "CD check failed!"
-diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh
-index dc35ba6579..b305ce1aa3 100755
---- a/modules.d/90dmsquash-live/module-setup.sh
-+++ b/modules.d/90dmsquash-live/module-setup.sh
-@@ -22,7 +22,7 @@ installkernel() {
- 
- # called by dracut
- install() {
--    inst_multiple umount dmsetup blkid dd losetup blockdev find rmdir
-+    inst_multiple umount dmsetup blkid dd losetup blockdev find rmdir grep
-     inst_multiple -o checkisomd5
-     inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh"
-     inst_hook cmdline 31 "$moddir/parse-iso-scan.sh"
diff --git a/1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch b/1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch
deleted file mode 100644
index e3c8b04..0000000
--- a/1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch
+++ /dev/null
@@ -1,400 +0,0 @@
-From 732361736810166aeba87616c93206b3e252aabe Mon Sep 17 00:00:00 2001
-From: Matt Coleman <matt@datto.com>
-Date: Fri, 23 Sep 2022 19:28:25 -0400
-Subject: [PATCH] feat(dmsquash-live): add new dmsquash-live-autooverlay module
-
-(cherry picked from commit a3c67d27e75223bb45df19f850d246ced9a09938)
----
- man/dracut.cmdline.7.asc                      |   4 +
- .../create-overlay-genrules.sh                |  10 ++
- .../create-overlay.sh                         | 119 ++++++++++++++++++
- .../module-setup.sh                           |  25 ++++
- pkgbuild/dracut.spec                          |   3 +-
- test/TEST-16-DMSQUASH/create-root.sh          |  12 +-
- test/TEST-16-DMSQUASH/test-init.sh            |   6 +
- test/TEST-16-DMSQUASH/test.sh                 |  38 +++++-
- test/container/Dockerfile-Arch                |   4 +-
- test/container/Dockerfile-Debian              |   1 +
- test/container/Dockerfile-Fedora-latest       |   1 +
- test/container/Dockerfile-OpenSuse-latest     |   2 +-
- 12 files changed, 216 insertions(+), 9 deletions(-)
- create mode 100755 modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh
- create mode 100755 modules.d/90dmsquash-live-autooverlay/create-overlay.sh
- create mode 100755 modules.d/90dmsquash-live-autooverlay/module-setup.sh
-
-diff --git a/man/dracut.cmdline.7.asc b/man/dracut.cmdline.7.asc
-index fda62fd1..40d13d83 100644
---- a/man/dracut.cmdline.7.asc
-+++ b/man/dracut.cmdline.7.asc
-@@ -1161,6 +1161,10 @@ rd.live.overlay=/dev/sdb1:persistent-overlay.img
- rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4
- --
- 
-+**rd.live.overlay.cowfs=**__[btrfs|ext4|xfs]__::
-+Specifies the filesystem to use when formatting the overlay partition.
-+The default is ext4.
-+
- **rd.live.overlay.size=**__<size_MiB>__::
- Specifies a non-persistent Device-mapper overlay size in MiB.  The default is
- _32768_.
-diff --git a/modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh b/modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh
-new file mode 100755
-index 00000000..ed168d9f
---- /dev/null
-+++ b/modules.d/90dmsquash-live-autooverlay/create-overlay-genrules.sh
-@@ -0,0 +1,10 @@
-+#!/bin/sh
-+
-+# shellcheck disable=SC2154
-+case "$root" in
-+    live:/dev/*)
-+        printf 'SYMLINK=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/create-overlay %s"\n' \
-+            "${root#live:/dev/}" "${root#live:}" >> /etc/udev/rules.d/95-create-overlay.rules
-+        wait_for_dev -n "${root#live:}"
-+        ;;
-+esac
-diff --git a/modules.d/90dmsquash-live-autooverlay/create-overlay.sh b/modules.d/90dmsquash-live-autooverlay/create-overlay.sh
-new file mode 100755
-index 00000000..c89bda2b
---- /dev/null
-+++ b/modules.d/90dmsquash-live-autooverlay/create-overlay.sh
-@@ -0,0 +1,119 @@
-+#!/bin/sh
-+
-+type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh
-+
-+if getargbool 0 rd.live.debug -n -y rdlivedebug; then
-+    exec > /tmp/create-overlay.$$.out
-+    exec 2>> /tmp/create-overlay.$$.out
-+    set -x
-+fi
-+
-+gatherData() {
-+    overlay=$(getarg rd.live.overlay)
-+    if [ -z "$overlay" ]; then
-+        info "Skipping overlay creation: kernel command line parameter 'rd.live.overlay' is not set"
-+        exit 0
-+    fi
-+    # shellcheck disable=SC2086
-+    if ! str_starts ${overlay} LABEL=; then
-+        die "Overlay creation failed: the partition must be set by LABEL in the 'rd.live.overlay' kernel parameter"
-+    fi
-+
-+    overlayLabel=${overlay#LABEL=}
-+    # shellcheck disable=SC2086
-+    if [ -b /dev/disk/by-label/${overlayLabel} ]; then
-+        info "Skipping overlay creation: overlay already exists"
-+        exit 0
-+    fi
-+
-+    filesystem=$(getarg rd.live.overlay.cowfs)
-+    [ -z "$filesystem" ] && filesystem="ext4"
-+    if [ "$filesystem" != "ext4" ] && [ "$filesystem" != "xfs" ] && [ "$filesystem" != "btrfs" ]; then
-+        die "Overlay creation failed: only ext4, xfs, and btrfs are supported in the 'rd.live.overlay.cowfs' kernel parameter"
-+    fi
-+
-+    live_dir=$(getarg rd.live.dir)
-+    [ -z "$live_dir" ] && live_dir="LiveOS"
-+
-+    [ -z "$1" ] && exit 1
-+    rootDevice=$1
-+
-+    # The kernel command line's 'root=' parameter was parsed into the $root variable by the dmsquash-live module.
-+    # $root contains the path to a symlink within /dev/disk/by-label, which points to a partition.
-+    # This script needs that partition's parent block device.
-+    # shellcheck disable=SC2046
-+    # shellcheck disable=SC2086
-+    rootDeviceAbsolutePath=$(readlink -f ${rootDevice})
-+    rootDeviceSysfsPath=/sys/class/block/${rootDeviceAbsolutePath##*/}
-+    if [ -f "${rootDeviceSysfsPath}/partition" ]; then
-+        # shellcheck disable=SC2086
-+        partition=$(cat ${rootDeviceSysfsPath}/partition)
-+    else
-+        partition=0
-+    fi
-+    # shellcheck disable=SC2086
-+    readonly=$(cat ${rootDeviceSysfsPath}/ro)
-+    # shellcheck disable=SC2086
-+    if [ "$partition" != "1" ] || [ "$readonly" != "0" ]; then
-+        info "Skipping overlay creation: unpartitioned or read-only media detected"
-+        exit 0
-+    fi
-+    # shellcheck disable=SC2046
-+    # shellcheck disable=SC2086
-+    fullDriveSysfsPath=$(readlink -f ${rootDeviceSysfsPath}/..)
-+    blockDevice=/dev/${fullDriveSysfsPath##*/}
-+    currentPartitionCount=$(grep --count -E "${blockDevice#/dev/}[0-9]+" /proc/partitions)
-+
-+    # shellcheck disable=SC2086
-+    freeSpaceStart=$(parted --script ${blockDevice} unit % print free \
-+        | awk -v x=${currentPartitionCount} '$1 == x {getline; print $1}')
-+    if [ -z "$freeSpaceStart" ]; then
-+        info "Skipping overlay creation: there is no free space after the last partition"
-+        exit 0
-+    fi
-+    partitionStart=$((${freeSpaceStart%.*} + 1))
-+    if [ $partitionStart -eq 100 ]; then
-+        info "Skipping overlay creation: there is not enough free space after the last partition"
-+        exit 0
-+    fi
-+
-+    overlayPartition=${blockDevice}$((currentPartitionCount + 1))
-+
-+    label=$(blkid --match-tag LABEL --output value "$rootDevice")
-+    uuid=$(blkid --match-tag UUID --output value "$rootDevice")
-+    if [ -z "$label" ] || [ -z "$uuid" ]; then
-+        die "Overlay creation failed: failed to look up root device label and UUID"
-+    fi
-+}
-+
-+createPartition() {
-+    # shellcheck disable=SC2086
-+    parted --script --align optimal ${blockDevice} mkpart primary ${partitionStart}% 100%
-+}
-+
-+createFilesystem() {
-+    # shellcheck disable=SC2086
-+    mkfs.${filesystem} -L ${overlayLabel} ${overlayPartition}
-+
-+    baseDir=/run/initramfs/create-overlayfs
-+    mkdir -p ${baseDir}
-+    # shellcheck disable=SC2086
-+    mount -t auto ${overlayPartition} ${baseDir}
-+
-+    mkdir -p ${baseDir}/${live_dir}/ovlwork
-+    # shellcheck disable=SC2086
-+    mkdir ${baseDir}/${live_dir}/overlay-${label}-${uuid}
-+
-+    umount ${baseDir}
-+    rm -r ${baseDir}
-+}
-+
-+main() {
-+    gatherData "$1"
-+    createPartition
-+    udevsettle
-+    createFilesystem
-+    udevsettle
-+}
-+
-+main "$1"
-diff --git a/modules.d/90dmsquash-live-autooverlay/module-setup.sh b/modules.d/90dmsquash-live-autooverlay/module-setup.sh
-new file mode 100755
-index 00000000..c3712eba
---- /dev/null
-+++ b/modules.d/90dmsquash-live-autooverlay/module-setup.sh
-@@ -0,0 +1,25 @@
-+#!/bin/bash
-+
-+check() {
-+    # including a module dedicated to live environments in a host-only initrd doesn't make sense
-+    [[ $hostonly ]] && return 1
-+    return 255
-+}
-+
-+depends() {
-+    echo dmsquash-live
-+    return 0
-+}
-+
-+installkernel() {
-+    instmods btrfs ext4 xfs
-+}
-+
-+install() {
-+    inst_multiple awk blkid cat grep mkdir mount parted readlink rmdir tr umount
-+    inst_multiple -o mkfs.btrfs mkfs.ext4 mkfs.xfs
-+    # shellcheck disable=SC2154
-+    inst_hook pre-udev 25 "$moddir/create-overlay-genrules.sh"
-+    inst_script "$moddir/create-overlay.sh" "/sbin/create-overlay"
-+    dracut_need_initqueue
-+}
-diff --git a/pkgbuild/dracut.spec b/pkgbuild/dracut.spec
-index 71b7421c..0f3efda7 100644
---- a/pkgbuild/dracut.spec
-+++ b/pkgbuild/dracut.spec
-@@ -141,7 +141,7 @@ Requires: %{name} >= %{version}-%{dist_free_release}
- Requires: %{name} = %{version}-%{release}
- %endif
- Requires: %{name}-network = %{version}-%{release}
--Requires: tar gzip coreutils bash device-mapper curl
-+Requires: tar gzip coreutils bash device-mapper curl parted
- %if 0%{?fedora}
- Requires: fuse ntfs-3g
- %endif
-@@ -464,6 +464,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
- %files live
- %{dracutlibdir}/modules.d/99img-lib
- %{dracutlibdir}/modules.d/90dmsquash-live
-+%{dracutlibdir}/modules.d/90dmsquash-live-autooverlay
- %{dracutlibdir}/modules.d/90dmsquash-live-ntfs
- %{dracutlibdir}/modules.d/90livenet
- 
-diff --git a/test/TEST-16-DMSQUASH/create-root.sh b/test/TEST-16-DMSQUASH/create-root.sh
-index 9bc1aa5d..c11e17e0 100755
---- a/test/TEST-16-DMSQUASH/create-root.sh
-+++ b/test/TEST-16-DMSQUASH/create-root.sh
-@@ -11,9 +11,17 @@ udevadm control --reload
- set -e
- 
- udevadm settle
--mkfs.ext4 -q -L dracut /dev/disk/by-id/ata-disk_root
-+
-+# create a single partition using 50% of the capacity of the image file created by test_setup() in test.sh
-+sfdisk /dev/disk/by-id/ata-disk_root << EOF
-+2048,161792
-+EOF
-+
-+udevadm settle
-+
-+mkfs.ext4 -q -L dracut /dev/disk/by-id/ata-disk_root-part1
- mkdir -p /root
--mount /dev/disk/by-id/ata-disk_root /root
-+mount /dev/disk/by-id/ata-disk_root-part1 /root
- mkdir -p /root/run /root/testdir
- echo "Creating squashfs"
- mksquashfs /source /root/testdir/rootfs.img -quiet
-diff --git a/test/TEST-16-DMSQUASH/test-init.sh b/test/TEST-16-DMSQUASH/test-init.sh
-index 068e8f38..959fa25f 100755
---- a/test/TEST-16-DMSQUASH/test-init.sh
-+++ b/test/TEST-16-DMSQUASH/test-init.sh
-@@ -9,6 +9,12 @@ exec > /dev/console 2>&1
- 
- echo "dracut-root-block-success" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker
- 
-+if grep -qF ' rd.live.overlay=LABEL=persist ' /proc/cmdline; then
-+    # Writing to a file in the root filesystem lets test_run() verify that the autooverlay module successfully created
-+    # and formatted the overlay partition and that the dmsquash-live module used it when setting up the rootfs overlay.
-+    echo "dracut-autooverlay-success" > /overlay-marker
-+fi
-+
- export TERM=linux
- export PS1='initramfs-test:\w\$ '
- [ -f /etc/mtab ] || ln -sfn /proc/mounts /etc/mtab
-diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh
-index cf433489..a446b3c9 100755
---- a/test/TEST-16-DMSQUASH/test.sh
-+++ b/test/TEST-16-DMSQUASH/test.sh
-@@ -5,8 +5,9 @@ TEST_DESCRIPTION="live root on a squash filesystem"
- 
- KVERSION="${KVERSION-$(uname -r)}"
- 
--# Uncomment this to debug failures
--# DEBUGFAIL="rd.shell rd.debug loglevel=7"
-+# Uncomment these to debug failures
-+#DEBUGFAIL="rd.shell rd.debug rd.live.debug loglevel=7"
-+#DEBUGTOOLS="setsid ls cat sfdisk"
- 
- test_run() {
-     dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
-@@ -23,6 +24,27 @@ test_run() {
-         -initrd "$TESTDIR"/initramfs.testing
- 
-     grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success -- "$TESTDIR"/marker.img || return 1
-+
-+    rootPartitions=$(sfdisk -d "$TESTDIR"/root.img | grep -c 'root\.img[0-9]')
-+    [ "$rootPartitions" -eq 1 ] || return 1
-+
-+    "$testdir"/run-qemu \
-+        "${disk_args[@]}" \
-+        -boot order=d \
-+        -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.overlay=LABEL=persist rd.live.dir=testdir root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \
-+        -initrd "$TESTDIR"/initramfs.testing-autooverlay
-+
-+    rootPartitions=$(sfdisk -d "$TESTDIR"/root.img | grep -c 'root\.img[0-9]')
-+    [ "$rootPartitions" -eq 2 ] || return 1
-+
-+    (
-+        # Ensure that this test works when run with the `V=1` parameter, which runs the script with `set -o pipefail`.
-+        set +o pipefail
-+
-+        # Verify that the string "dracut-autooverlay-success" occurs in the second partition in the image file.
-+        dd if="$TESTDIR"/root.img bs=1MiB skip=80 status=none \
-+            | grep -U --binary-files=binary -F -m 1 -q dracut-autooverlay-success
-+    ) || return 1
- }
- 
- test_setup() {
-@@ -49,7 +71,7 @@ test_setup() {
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-         ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
- 
--        inst_multiple mkdir ln dd stty mount poweroff
-+        inst_multiple mkdir ln dd stty mount poweroff grep "$DEBUGTOOLS"
- 
-         cp -a -- /etc/ld.so.conf* "$initdir"/etc
-         ldconfig -r "$initdir"
-@@ -113,6 +135,16 @@ test_setup() {
-         --force "$TESTDIR"/initramfs.testing "$KVERSION" || return 1
- 
-     ls -sh "$TESTDIR"/initramfs.testing
-+
-+    "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \
-+        --modules "dmsquash-live-autooverlay qemu" \
-+        --omit "rngd" \
-+        --drivers "ext4 sd_mod" \
-+        --no-hostonly --no-hostonly-cmdline \
-+        --force "$TESTDIR"/initramfs.testing-autooverlay "$KVERSION" || return 1
-+
-+    ls -sh "$TESTDIR"/initramfs.testing-autooverlay
-+
-     rm -rf -- "$TESTDIR"/overlay
- }
- 
-diff --git a/test/container/Dockerfile-Arch b/test/container/Dockerfile-Arch
-index 922b8ede..4112cc5b 100644
---- a/test/container/Dockerfile-Arch
-+++ b/test/container/Dockerfile-Arch
-@@ -9,10 +9,10 @@ RUN echo 'export DRACUT_NO_XATTR=1 KVERSION=$(cd /lib/modules; ls -1 | tail -1)'
- 
- # Install needed packages for the dracut CI container
- RUN pacman --noconfirm -Sy \
--    linux dash strace dhclient asciidoc cpio pigz \
-+    linux dash strace dhclient asciidoc cpio pigz squashfs-tools \
-     qemu btrfs-progs mdadm dmraid nfs-utils nfsidmap lvm2 nbd \
-     dhcp networkmanager multipath-tools vi tcpdump open-iscsi \
--    git shfmt shellcheck astyle which base-devel && yes | pacman  -Scc
-+    git shfmt shellcheck astyle which base-devel glibc parted && yes | pacman -Scc
- 
- RUN useradd -m build
- RUN su build -c 'cd && git clone https://aur.archlinux.org/perl-config-general.git && cd perl-config-general && makepkg -s --noconfirm'
-diff --git a/test/container/Dockerfile-Debian b/test/container/Dockerfile-Debian
-index b4c1704e..15eb9958 100644
---- a/test/container/Dockerfile-Debian
-+++ b/test/container/Dockerfile-Debian
-@@ -42,6 +42,7 @@ RUN apt-get update -y -qq && apt-get upgrade -y -qq && DEBIAN_FRONTEND=nonintera
-     network-manager \
-     nfs-common \
-     open-iscsi \
-+    parted \
-     pigz \
-     pkg-config \
-     procps \
-diff --git a/test/container/Dockerfile-Fedora-latest b/test/container/Dockerfile-Fedora-latest
-index 87c749f9..a38a72ef 100644
---- a/test/container/Dockerfile-Fedora-latest
-+++ b/test/container/Dockerfile-Fedora-latest
-@@ -49,6 +49,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
-     which \
-     ShellCheck \
-     shfmt \
-+    parted \
-     && dnf -y update && dnf clean all
- 
- # Set default command
-diff --git a/test/container/Dockerfile-OpenSuse-latest b/test/container/Dockerfile-OpenSuse-latest
-index 637d50c6..9aaf07b1 100644
---- a/test/container/Dockerfile-OpenSuse-latest
-+++ b/test/container/Dockerfile-OpenSuse-latest
-@@ -13,7 +13,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
-     strace libkmod-devel gcc bzip2 xz tar wget rpm-build make git bash-completion \
-     sudo kernel dhcp-client qemu-kvm /usr/bin/qemu-system-$(uname -m) e2fsprogs \
-     tcpdump iproute iputils kbd NetworkManager btrfsprogs tgt dbus-broker \
--    iscsiuio open-iscsi which ShellCheck procps pigz \
-+    iscsiuio open-iscsi which ShellCheck procps pigz parted squashfs \
-     && dnf -y update && dnf clean all
- 
- RUN shfmt_version=3.2.4; wget "https://github.com/mvdan/sh/releases/download/v${shfmt_version}/shfmt_v${shfmt_version}_linux_amd64" -O /usr/local/bin/shfmt \
--- 
-2.36.1
-
diff --git a/2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch b/2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch
deleted file mode 100644
index fb8f368..0000000
--- a/2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 16f1daa9015b4cac6f390c0832f37479bc1377ba Mon Sep 17 00:00:00 2001
-From: Neal Gompa <neal@gompa.dev>
-Date: Sat, 5 Nov 2022 18:28:34 -0400
-Subject: [PATCH] fix(kernel-modules): add sysctl to initramfs to handle
- modprobe files
-
-Users were seeing errors like this:
-
-[     2.917246] dracut-pre-udev[717]: sh: line 1: /sbin/sysctl: No such file or directory
-
-This was the result of modprobe.d files that needed to call sysctl
-and failing because sysctl wasn't included in the initramfs.
-
-This change makes it so that we have the binary included so those
-modprobe configuration files work properly.
----
- 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 b1fb74020..eb478c7ee 100755
---- a/modules.d/90kernel-modules/module-setup.sh
-+++ b/modules.d/90kernel-modules/module-setup.sh
-@@ -147,4 +147,5 @@ install() {
-         inst_hook cmdline 01 "$moddir/parse-kernel.sh"
-     fi
-     inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh
-+    inst_multiple -o sysctl
- }
diff --git a/dracut.spec b/dracut.spec
index 0f89845..735fca8 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -7,10 +7,10 @@
 %global __requires_exclude pkg-config
 
 # rpmdev-bumpspec and releng automation compatible variable
-%global baserelease 6
+%global baserelease 1
 
 Name: dracut
-Version: 057
+Version: 059
 Release: %{baserelease}%{?dist}
 
 Summary: Initramfs generator using udev
@@ -22,29 +22,15 @@ License: GPLv2+ and LGPLv2+ and GPLv2
 
 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
+Source0: https://github.com/dracutdevs/dracut/archive/refs/tags/%{version}.tar.gz
 
 Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
 
-# dmsquash-live-root: Run checkisomd5 on correct device
-# https://github.com/dracutdevs/dracut/pull/1882
-Patch0: 1882-dmsquash-live-root-Run-checkisomd5-on-correct-device.patch
-
 # Never auto-enable bluetooth module (but it can be manually included
 # for debugging) - workaround for RHBZ #1964879.
 # https://github.com/dracutdevs/dracut/pull/1521
 Patch1: 1521-Never-enable-the-bluetooth-module-by-default.patch
 
-# Add dmsquash-live-autooverlay module
-# https://github.com/dracutdevs/dracut/pull/1991
-Patch2: 1991-feat-dmsquash-live-add-new-dmsquash-live-autooverlay.patch
-
-# Add sysctl to initramfs to handle modprobe files
-# https://github.com/dracutdevs/dracut/pull/2037
-Patch3: 2037-Add-sysctl-to-initramfs-to-handle-modprobe-files.patch
-
 BuildRequires: bash
 BuildRequires: git-core
 BuildRequires: pkgconfig(libkmod) >= 23
@@ -285,6 +271,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %{dracutlibdir}/modules.d/01systemd-journald
 %{dracutlibdir}/modules.d/01systemd-ldconfig
 %{dracutlibdir}/modules.d/01systemd-modules-load
+%{dracutlibdir}/modules.d/01systemd-pcrphase
+%{dracutlibdir}/modules.d/01systemd-portabled
+%{dracutlibdir}/modules.d/01systemd-pstore
 %{dracutlibdir}/modules.d/01systemd-repart
 %{dracutlibdir}/modules.d/01systemd-resolved
 %{dracutlibdir}/modules.d/01systemd-rfkill
@@ -313,6 +302,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %{dracutlibdir}/modules.d/62bluetooth
 %{dracutlibdir}/modules.d/80lvmmerge
 %{dracutlibdir}/modules.d/80lvmthinpool-monitor
+%{dracutlibdir}/modules.d/80test
+%{dracutlibdir}/modules.d/80test-makeroot
+%{dracutlibdir}/modules.d/80test-root
 %{dracutlibdir}/modules.d/90btrfs
 %{dracutlibdir}/modules.d/90crypt
 %{dracutlibdir}/modules.d/90dm
@@ -323,6 +315,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %{dracutlibdir}/modules.d/90mdraid
 %{dracutlibdir}/modules.d/90multipath
 %{dracutlibdir}/modules.d/90nvdimm
+%{dracutlibdir}/modules.d/90overlayfs
 %{dracutlibdir}/modules.d/90ppcmac
 %{dracutlibdir}/modules.d/90qemu
 %{dracutlibdir}/modules.d/91crypt-gpg
@@ -444,6 +437,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
 
 %changelog
+* Mon Feb 13 2023 Pavel Valena <pvalena@redhat.com> - 059-1
+- Update to 059
+
 * Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 057-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
 
diff --git a/sources b/sources
index 0c11c95..a864a13 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dracut-057.tar.xz) = 5169dd42c59a1a3fde21da984ab998eb04bf4aac384a6aa4ada3b0febd1e8f0c7fc727b1e8aed30f6584acbe323cbdb4021d18109b8baec907dadcc8cd4ceec9
+SHA512 (059.tar.gz) = 196bc8bf18703c72bffb51a7e0493719c58173ad2da7d121eb42f9a8de47e953af36d109214dc4a10b2dc2d3bd19e844f7f51c2bdec087e064ea11f75124032d