summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 13:54:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 13:54:25 +0000
commit613b5479a576e8b54bc261055d341466fa57a937 (patch)
tree4e8f56ead3c83759cf5c9005d350926275370f66
parentAdding upstream version 060+5. (diff)
downloaddracut-613b5479a576e8b54bc261055d341466fa57a937.tar.xz
dracut-613b5479a576e8b54bc261055d341466fa57a937.zip
Adding debian version 060+5-1.debian/060+5-1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/09console-setup/10-console.rules2
-rwxr-xr-xdebian/09console-setup/console-setup.sh3
-rwxr-xr-xdebian/09console-setup/module-setup.sh32
-rw-r--r--debian/90overlay-root/README14
-rw-r--r--debian/90overlay-root/module-setup.sh20
-rw-r--r--debian/90overlay-root/overlay-mount.sh39
-rw-r--r--debian/NEWS27
-rw-r--r--debian/changelog710
-rw-r--r--debian/control85
-rw-r--r--debian/copyright105
-rw-r--r--debian/dracut-config-generic.install1
-rw-r--r--debian/dracut-config-rescue.install1
-rw-r--r--debian/dracut-core.README.Debian42
-rw-r--r--debian/dracut-core.dirs2
-rw-r--r--debian/dracut-core.docs8
-rw-r--r--debian/dracut-core.install113
-rw-r--r--debian/dracut-core.lintian-overrides4
-rw-r--r--debian/dracut-core.logrotate7
-rw-r--r--debian/dracut-core.manpages1
-rw-r--r--debian/dracut-core.postrm13
-rw-r--r--debian/dracut-live.install5
-rw-r--r--debian/dracut-live.lintian-overrides2
-rw-r--r--debian/dracut-network.conffiles1
-rw-r--r--debian/dracut-network.install21
-rw-r--r--debian/dracut-network.lintian-overrides2
-rw-r--r--debian/dracut-squash.install1
-rw-r--r--debian/dracut.install1
-rw-r--r--debian/dracut.postinst27
-rw-r--r--debian/dracut.triggers1
-rw-r--r--debian/etc/20-generic-image.conf1
-rw-r--r--debian/etc/20-rescue.conf1
-rwxr-xr-xdebian/fix-revdate15
-rwxr-xr-xdebian/kernel/postinst.d/dracut36
-rwxr-xr-xdebian/kernel/postrm.d/dracut25
-rwxr-xr-xdebian/mk-fix-revdate8
-rw-r--r--debian/not-installed3
-rw-r--r--debian/patches/fido-libz10
-rw-r--r--debian/patches/initrd-not-initramfs.patch79
-rw-r--r--debian/patches/microcode11
-rw-r--r--debian/patches/nm-path25
-rw-r--r--debian/patches/rpc-user40
-rw-r--r--debian/patches/series7
-rw-r--r--debian/patches/udevsettle10
-rw-r--r--debian/patches/vconsole12
-rwxr-xr-xdebian/rules48
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/options1
-rw-r--r--debian/watch4
48 files changed, 1627 insertions, 0 deletions
diff --git a/debian/09console-setup/10-console.rules b/debian/09console-setup/10-console.rules
new file mode 100644
index 0000000..bbdb6f3
--- /dev/null
+++ b/debian/09console-setup/10-console.rules
@@ -0,0 +1,2 @@
+# Console initialization - keyboard, font, etc.
+KERNEL=="tty0", RUN+="/sbin/initqueue --onetime --unique --name console-setup /lib/udev/console-setup"
diff --git a/debian/09console-setup/console-setup.sh b/debian/09console-setup/console-setup.sh
new file mode 100755
index 0000000..301b6f3
--- /dev/null
+++ b/debian/09console-setup/console-setup.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+setupcon
diff --git a/debian/09console-setup/module-setup.sh b/debian/09console-setup/module-setup.sh
new file mode 100755
index 0000000..10821b0
--- /dev/null
+++ b/debian/09console-setup/module-setup.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+check() {
+ local vardir
+ vardir=/var/lib/dracut
+
+ [ -x /bin/setupcon ] || return 1
+ setupcon --help 2>&1 | grep "\-\-setup-dir" > /dev/null || return 1
+
+ rm -rf $vardir/console-setup-dir
+ mkdir -p $vardir/console-setup-dir || return 1
+ setupcon --setup-dir $vardir/console-setup-dir || return 1
+ mv $vardir/console-setup-dir/morefiles $vardir/console-setup-files
+}
+
+depends() {
+ return 0
+}
+
+install() {
+ local vardir
+ vardir=/var/lib/dracut
+
+ cp -a $vardir/console-setup-dir/bin/* $initdir/bin/
+ cp -a $vardir/console-setup-dir/etc/* $initdir/etc/
+ # gzip is workaround a bug in current console-setup
+ inst_multiple gzip $(cat $vardir/console-setup-files)
+ inst ${moddir}/console-setup.sh /lib/udev/console-setup
+ inst_rules ${moddir}/10-console.rules
+}
diff --git a/debian/90overlay-root/README b/debian/90overlay-root/README
new file mode 100644
index 0000000..aa14275
--- /dev/null
+++ b/debian/90overlay-root/README
@@ -0,0 +1,14 @@
+dracut rootfs overlayfs module
+
+Make any rootfs ro, but writable via overlayfs.
+This is convenient, if for example using an ro-nfs-mount.
+
+Add the parameter "rootovl" to the kernel, to activate this feature
+
+This happens pre-pivot. Therefore the final root file system is already
+mounted. It will be set ro, and turned into an overlayfs mount with an
+underlying tmpfs.
+
+The original root and the tmpfs will be mounted at /live/image and
+/live/cow in the final rootfs.
+
diff --git a/debian/90overlay-root/module-setup.sh b/debian/90overlay-root/module-setup.sh
new file mode 100644
index 0000000..ae009f4
--- /dev/null
+++ b/debian/90overlay-root/module-setup.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+check() {
+ # do not add modules if the kernel does not have overlayfs support
+ [ -d /lib/modules/$kernel/kernel/fs/overlayfs ] || return 1
+}
+
+depends() {
+ # We do not depend on any modules - just some root
+ return 0
+}
+
+# called by dracut
+installkernel() {
+ hostonly='' instmods overlay
+}
+
+install() {
+ inst_hook pre-pivot 10 "$moddir/overlay-mount.sh"
+}
diff --git a/debian/90overlay-root/overlay-mount.sh b/debian/90overlay-root/overlay-mount.sh
new file mode 100644
index 0000000..27d0312
--- /dev/null
+++ b/debian/90overlay-root/overlay-mount.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# make a read-only nfsroot writeable by using overlayfs
+# the nfsroot is already mounted to $NEWROOT
+# add the parameter rootovl to the kernel, to activate this feature
+
+. /lib/dracut-lib.sh
+
+if ! getargbool 0 rootovl ; then
+ return
+fi
+
+modprobe overlay
+
+# a little bit tuning
+mount -o remount,nolock,noatime $NEWROOT
+
+# Move root
+# --move does not always work. Google >mount move "wrong fs"< for
+# details
+mkdir -p /live/image
+mount --bind $NEWROOT /live/image
+umount $NEWROOT
+
+# Create tmpfs
+mkdir /cow
+mount -n -t tmpfs -o mode=0755 tmpfs /cow
+mkdir /cow/work /cow/rw
+
+# Merge both to new Filesystem
+mount -t overlay -o noatime,lowerdir=/live/image,upperdir=/cow/rw,workdir=/cow/work,default_permissions overlay $NEWROOT
+
+# Let filesystems survive pivot
+mkdir -p $NEWROOT/live/cow
+mkdir -p $NEWROOT/live/image
+mount --bind /cow/rw $NEWROOT/live/cow
+umount /cow
+mount --bind /live/image $NEWROOT/live/image
+umount /live/image
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644
index 0000000..f20f751
--- /dev/null
+++ b/debian/NEWS
@@ -0,0 +1,27 @@
+dracut (059-1) unstable; urgency=low
+
+ - build generic initrd by default as upstream does it
+
+ -- Thomas Lange <lange@debian.org> Sun, 25 Dec 2022 13:19:55 +0100
+
+dracut (050-1) unstable; urgency=low
+
+ - dracut has two new packages:
+ dracut-live includes modules for building live images
+ dracut-squash includes support for squashfs
+
+ -- Thomas Lange <lange@debian.org> Fri, 06 Mar 2020 13:20:21 +0100
+
+dracut (043-1) unstable; urgency=low
+
+ - dracut is building hostonly initrds by default, install the package
+ dracut-config-generic for creating a generic initrd
+
+ -- Thomas Lange <lange@debian.org> Thu, 17 Sep 2015 16:05:08 +0200
+
+dracut (036-1) unstable; urgency=low
+
+ - As of dracut >= 024, rd.auto is set to 0 by default, which diable autoassembly
+ of special devices like cryptoLUKS, dmraid, mdraid or lvm.
+
+ -- Thomas Lange <lange@debian.org> Sun, 16 Feb 2014 19:28:26 +0100
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..5ce6fdf
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,710 @@
+dracut (060+5-1) unstable; urgency=medium
+
+ * upstream changed the release process, and do not tag the releases any
+ more
+ * 059+212 was already version 060+5
+ * add dracut-network.conffiles, Closes: 1057807
+
+ -- Thomas Lange <lange@debian.org> Fri, 08 Dec 2023 21:09:47 +0100
+
+dracut (059+212-3) unstable; urgency=medium
+
+ * fix handling of dracut-version.sh
+
+ -- Thomas Lange <lange@debian.org> Wed, 06 Dec 2023 14:36:26 +0100
+
+dracut (059+212-2) unstable; urgency=low
+
+ * debian/rules: use correct Debian version
+
+ -- Thomas Lange <lange@debian.org> Wed, 06 Dec 2023 12:00:30 +0100
+
+dracut (059+212-1) unstable; urgency=low
+
+ * merge upstream changes, Closes: #1056059, #1041562, #1054400, #1016052
+
+ -- Thomas Lange <lange@debian.org> Thu, 30 Nov 2023 22:10:02 +0100
+
+dracut (059-4) unstable; urgency=low
+
+ * Fix file name in patch initrd-not-initramfs.patch
+ Closes: #1029413, #1030191
+ Thanks to nabijaczleweli for the patch
+
+ -- Thomas Lange <lange@debian.org> Thu, 09 Mar 2023 19:13:42 +0100
+
+dracut (059-3) unstable; urgency=low
+
+ * control: add breaks + replaces, Closes: #1028303
+
+ -- Thomas Lange <lange@debian.org> Mon, 09 Jan 2023 20:56:29 +0100
+
+dracut (059-2) unstable; urgency=low
+
+ * add patches from Laszlo Gombos
+ dracut-live only depends on dracut-core not on dracut-network
+ overlayfs dracut module belongs to dracut-core and not to dracut-live
+ wicked dracut module is not supported by debian
+ remove multipath patch, no longer needed
+
+ -- Thomas Lange <lange@debian.org> Sat, 07 Jan 2023 11:43:33 +0100
+
+dracut (059-1) unstable; urgency=low
+
+ * new upstream version
+ * control: new homepage, new standards version
+ * remove 10-debian.conf, build generic initrd by default
+ * rules: run script explicitly as shell, Closes: #1025378
+ * nm-path: fix more paths, Closes: #1016741
+ * patches/udevsettle: fix broken network in kvm in some cases
+ * remove dev-shm patch which is not needed, Closes: #1025996
+ * remove systemd-users patch, Closes: #1025951
+
+ -- Thomas Lange <lange@debian.org> Sun, 25 Dec 2022 17:09:02 +0100
+
+dracut (057+157-4) unstable; urgency=low
+
+ * add missing module 90overlayfs
+
+ -- Thomas Lange <lange@debian.org> Fri, 02 Dec 2022 16:19:16 +0100
+
+dracut (057+157-3) unstable; urgency=low
+
+ * control: add breaks and replaces, Closes: #1024435
+
+ -- Thomas Lange <lange@debian.org> Sun, 20 Nov 2022 08:56:26 +0100
+
+dracut (057+157-2) unstable; urgency=low
+
+ * remove duplicate virtfs module, Closes: #1024390
+
+ -- Thomas Lange <lange@debian.org> Fri, 18 Nov 2022 20:54:29 +0100
+
+dracut (057+157-1) unstable; urgency=low
+
+ * new upstream: Closes: #1023239, #1015922, #1016051, #1017411
+ * update initrd-not-initramfs.patch Closes: #1021229
+ * add patch for missing libz, Closes: #1016727
+ * add patch for Debian path in 35network-manager, Closes: #1016741
+
+ -- Thomas Lange <lange@debian.org> Thu, 17 Nov 2022 21:48:24 +0100
+
+dracut (056-3) unstable; urgency=low
+
+ * new upstream, Closes: #991918
+ * control: Remove unnecessary constraints, demote pkg-config to
+ Recommends, Closes: #991920
+ * set Debian version in dracut-version.sh, Closes: #987320
+ * 90overlay-root/module-setup.sh: fix loading overlayfs kernel module
+
+ -- Thomas Lange <lange@debian.org> Tue, 24 May 2022 21:29:13 +0200
+
+dracut (056-2) experimental; urgency=low
+
+ * Team upload.
+ * Fix conflict between dracut-{core,live,network} after failed amendment
+ of modules list
+
+ -- Dominik George <natureshadow@debian.org> Wed, 11 May 2022 12:39:03 +0200
+
+dracut (056-1) experimental; urgency=low
+
+ * Team upload.
+ * New upstream version
+ * Refresh patches for dracut 056
+ * Update d/copyright
+ + Accounted for moved source files
+ + Accounted for source files written by authors not mentioned yet
+ + Accounted for a vendored Rust module (crosvm).
+ * Install all modules
+ * Install dracut-util
+
+ -- Dominik George <natureshadow@debian.org> Tue, 10 May 2022 16:53:52 +0200
+
+dracut (055-1) experimental; urgency=low
+
+ [ Dominik George ]
+ * Team upload.
+ * New upstream version (Closes: #991918)
+
+ [ Andre Russ ]
+ * Refresh patches for dracut 055
+ + systemd needs more users in Debian
+ + crc32c patch was applied upstream
+ + several minor changes
+ * Update installed files
+ + Several docs were moved upstream
+ + mkinitrd was removed
+
+ -- Dominik George <natureshadow@debian.org> Fri, 06 Aug 2021 11:36:31 +0200
+
+dracut (051-1) unstable; urgency=low
+
+ * new upstream version
+ * control: change description, Closes: #967923
+ * source/options: add pattern for files to ignore by dpkg-source
+ * fix-revdate: update modification dates
+
+ [ Antonio Russo ]
+ * Patch occurrences of /boot/initramfs to /boot/initrd to match Debian
+ default names, Closes: #972809
+
+ -- Thomas Lange <lange@debian.org> Tue, 15 Dec 2020 16:23:33 +0100
+
+dracut (050+65-1) unstable; urgency=medium
+
+ * control: add breaks and replaces, Closes: #959852
+ * merge upstream changes, Closes: #963989
+ * add module nvmf
+
+ -- Thomas Lange <lange@debian.org> Wed, 01 Jul 2020 12:13:36 +0200
+
+dracut (050+35-4) unstable; urgency=high
+
+ * add git tag, so dracut shows correct version
+
+ -- Thomas Lange <lange@debian.org> Wed, 22 Apr 2020 22:43:28 +0200
+
+dracut (050+35-3) unstable; urgency=high
+
+ * fix microcode loading, Closes: #958191
+
+ -- Thomas Lange <lange@debian.org> Wed, 22 Apr 2020 22:09:22 +0200
+
+dracut (050+35-2) unstable; urgency=low
+
+ * source only upload needed, after 050+35-1 went through new queue
+
+ -- Thomas Lange <lange@debian.org> Thu, 16 Apr 2020 10:55:04 +0200
+
+dracut (050+35-1) unstable; urgency=low
+
+ * new upstream
+ * debian/copyright: fix entries, Closes: #956288
+
+ -- Thomas Lange <lange@debian.org> Fri, 10 Apr 2020 21:57:03 +0200
+
+dracut (050+31-1) unstable; urgency=low
+
+ * new upstream: Closes: #954019
+ * add module 90nvdimm
+
+ -- Thomas Lange <lange@debian.org> Thu, 19 Mar 2020 23:01:22 +0100
+
+dracut (050-1) unstable; urgency=low
+
+ [ Thomas Lange ]
+ * new upstream version, Closes: #948135, #945596, #952820
+ * additional packages dracut-live and dracut-squash were added by
+ upstream
+ * fix dpkg triggers, Closes: #720081
+ * kernel/postinst.d/dracut: avoid running multiple times
+ * update standards version
+ * control: use debhelper-compat, upgrade to 12
+ * add patch systemd-vconsole-setup.service
+ * remove 90aufs, only supported until 3.X
+ * add dracut module 06rngd
+ * add README.cross, rename README -> README.md
+ * add mkinitrd script
+
+ [ Ondřej Nový ]
+ * d/copyright: Change Format URL to correct one
+
+ -- Thomas Lange <lange@debian.org> Fri, 06 Mar 2020 13:30:46 +0100
+
+dracut (048+80-2) unstable; urgency=medium
+
+ * fix bashism in several scripts, Closes: #772260
+ * add patch to workaround changes in bash-5 while fsck'ing,
+ Closes: #920563
+
+ -- Thomas Lange <lange@debian.org> Tue, 07 May 2019 13:11:11 +0200
+
+dracut (048+80-1) unstable; urgency=low
+
+ * new upstream
+ * fix duplicate copy of README.Debian: Closes: #905281
+ * 10-debian.conf: remove prelink option
+ * remove 02fips-aesni, 90multipath-hostonly
+ * new standards version
+
+ -- Thomas Lange <lange@debian.org> Fri, 24 Aug 2018 14:29:22 +0200
+
+dracut (047+31-2) unstable; urgency=low
+
+ [ Helmut Grohne ]
+ * Fix FTCBFS: Let buildtools.mk export PKG_CONFIG etc. Closes: #901173
+
+ [ Thomas Lange ]
+ * add patch for adding crc32c when using ext3
+
+ -- Thomas Lange <lange@debian.org> Tue, 12 Jun 2018 13:29:28 +0200
+
+dracut (047+31-1) unstable; urgency=medium
+
+ * new upstream version
+ * add patch for early microcode loading, Closes: #875297
+ * rules: remove quilt option
+ * control: update standards version, no changes
+ * 10-debian.conf: crc32c modules not needed any more
+ * add dracut.pc to debian-core, Closes: #880984
+
+ -- Thomas Lange <lange@debian.org> Thu, 17 May 2018 17:44:36 +0200
+
+dracut (047-2) unstable; urgency=low
+
+ * add missing depends, Closes: #890990
+
+ -- Thomas Lange <lange@debian.org> Wed, 21 Feb 2018 14:55:16 +0100
+
+dracut (047-1) unstable; urgency=low
+
+ * new upstream version
+ * control: add depends, Closes: #887202, update Vcs fields,
+ update standards version
+ * add modules.d/81cio_ignore
+
+ -- Thomas Lange <lange@debian.org> Wed, 21 Feb 2018 09:49:15 +0100
+
+dracut (045+132-1) unstable; urgency=low
+
+ * new upstream version, Closes: #867568, #862845, #743791
+ * replace crc32 patch by adding driver to entry in dracut.conf.d
+ * add lvmmerge and multipath-hostonly modules
+ * make man pages reproducible, Thanks to Jeremy Bobbio for the
+ patch, Closes: #783131
+
+ -- Thomas Lange <lange@debian.org> Fri, 11 Aug 2017 22:05:11 +0200
+
+dracut (044+241-3) unstable; urgency=low
+
+ * control: fix Recommends, Closes: #852083
+
+ -- Thomas Lange <lange@debian.org> Wed, 22 Mar 2017 18:52:25 +0000
+
+dracut (044+241-2) unstable; urgency=low
+
+ * add patch for dkms aufs modules, Closes: #855370
+
+ -- Thomas Lange <lange@debian.org> Tue, 28 Feb 2017 11:29:58 +0100
+
+dracut (044+241-1) unstable; urgency=low
+
+ * merge upstream changes
+ * 09console-setup/module-setup.sh: fix cp, Closes: #828915
+ * control: add recommends, Closes: #852083
+
+ -- Thomas Lange <lange@debian.org> Tue, 24 Jan 2017 14:40:24 +0000
+
+dracut (044+223-1) unstable; urgency=low
+
+ * new upstream
+ * control: only depend on asciidoc-base
+
+ -- Thomas Lange <lange@debian.org> Tue, 17 Jan 2017 16:20:51 +0100
+
+dracut (044+189-2) unstable; urgency=high
+
+ * rules: set libdir
+ * set compat level to 9, Closes: #830229
+
+ -- Thomas Lange <lange@debian.org> Wed, 14 Dec 2016 11:41:52 +0000
+
+dracut (044+189-1) unstable; urgency=high
+
+ * upgrade to a newer upstream: Closes: #843697, which is CVE-2016-8637
+ * dracut.maintscript: remove parameter from mainscript, Closes: #839951
+ * new patch crc32, adding crc32c driver for ext4, Closes: #835060
+
+ -- Thomas Lange <lange@debian.org> Tue, 13 Dec 2016 21:45:01 +0100
+
+dracut (044+109-1) unstable; urgency=low
+
+ * merge upstream 044+109+g3889234
+ * update standards version, no changes needed
+ * add README.Debian
+ * add patch systemd-udev
+ * add check for aufs and overlayfs if filesystem is supported
+
+ -- Thomas Lange <lange@debian.org> Sun, 31 Jul 2016 21:18:04 +0200
+
+dracut (044+105-2) unstable; urgency=medium
+
+ * overlay-mount.sh: remove debuging
+
+ -- Thomas Lange <lange@debian.org> Mon, 27 Jun 2016 17:00:26 +0200
+
+dracut (044+105-1) unstable; urgency=medium
+
+ * merge upstream 044-105-gf6fa9ef
+ * add overlayfs support for the root file system
+
+ -- Thomas Lange <lange@debian.org> Sat, 25 Jun 2016 16:10:25 +0200
+
+dracut (044+38-1) unstable; urgency=low
+
+ * merge upstream 044+38+gb127294
+ * make console-setup a recommends instead of depends, Closes: #812943
+ * 90console-setup: Fix console-setup module-setup script to not
+ terminate
+ * rules: fix permissions
+
+ -- Thomas Lange <lange@debian.org> Mon, 21 Mar 2016 13:47:15 +0100
+
+dracut (044+3-3) unstable; urgency=low
+
+ * add dracut.maintscript, so the duplicate logrotate entry is removed
+
+ -- Thomas Lange <lange@debian.org> Sun, 20 Mar 2016 21:03:49 +0100
+
+dracut (044+3-2) unstable; urgency=medium
+
+ [ Ben Hutchings ]
+ * Split dracut binary package into core and automation hooks,
+ Closes: #808787
+
+ -- Thomas Lange <lange@debian.org> Wed, 23 Dec 2015 23:13:50 +0100
+
+dracut (044+3-1) unstable; urgency=low
+
+ * new upstream, Closes: #802823
+ * new patch libdir, multipath Closes: #796329
+ * fix plymouth path and remove items, Closes: #796110
+ * dracut.install: add dracut-init.sh
+ * aufs-mount.sh: use getargbool
+
+ -- Thomas Lange <lange@debian.org> Sun, 29 Nov 2015 13:49:04 +0100
+
+dracut (043-4) unstable; urgency=low
+
+ * add more man pages to package
+
+ -- Thomas Lange <lange@debian.org> Thu, 17 Sep 2015 03:34:44 +0200
+
+dracut (043-3) unstable; urgency=low
+
+ * dracut-network: activate ifcfg module
+
+ -- Thomas Lange <lange@debian.org> Mon, 07 Sep 2015 12:56:46 +0200
+
+dracut (043-2) unstable; urgency=medium
+
+ * control: add breaks and replaces, Closes: #796163
+
+ -- Thomas Lange <lange@debian.org> Thu, 20 Aug 2015 11:56:25 +0200
+
+dracut (043-1) unstable; urgency=low
+
+ * new upstream, Closes: #771413
+ * control: add packages dracut-config-{rescue,generic} which include
+ config files how dracut will build the initrd
+ * 10-debian.conf: generate hostonly initrd by default
+ * aufs module: transform aufs patch to files in a directory, use --bind
+ instead of --move, move module from dracut-network to dracut,
+ make aufs independent of nfs
+
+ -- Thomas Lange <lange@debian.org> Wed, 12 Aug 2015 22:27:18 +0200
+
+dracut (040+1-1) unstable; urgency=low
+
+ * new upstream, Closes: #739794, #758655, #754062, #755271
+
+ -- Thomas Lange <lange@debian.org> Fri, 24 Oct 2014 15:32:38 +0200
+
+dracut (038-3) unstable; urgency=low
+
+ * add systemd units to package Closes: #764393
+ * add patch for dracut-initramfs-restore, Closes: #764393
+ Thanks to Lukas Wunner for the patch
+
+ -- Thomas Lange <lange@debian.org> Wed, 08 Oct 2014 11:55:35 +0200
+
+dracut (038-2) unstable; urgency=low
+
+ * control: change depends on kbd to console-setup
+
+ -- Thomas Lange <lange@debian.org> Thu, 17 Jul 2014 13:40:08 +0200
+
+dracut (038-1) unstable; urgency=low
+
+ * new upstream
+ * remove 10i18n patch, not needed any more
+ * update standards version, no changes needed
+
+ -- Thomas Lange <lange@debian.org> Thu, 03 Jul 2014 15:12:26 +0200
+
+dracut (037-2) unstable; urgency=low
+
+ * add i18n support for Debian using new module 09-console-setup,
+ Closes: #640101, Thanks to Anton Zinoviev for the patches
+ * add README.Debian, which includes info about i18n in Debian
+ * disable module 10i18n, Closes: #664678
+ * control: add pkg-config to depends, Closes: #748084
+ * add dracut-version.sh to package, Closes: #749849
+
+ -- Thomas Lange <lange@debian.org> Mon, 16 Jun 2014 14:37:52 +0200
+
+dracut (037-1) unstable; urgency=low
+
+ * new upstream
+
+ -- Thomas Lange <lange@debian.org> Wed, 02 Apr 2014 22:26:45 +0200
+
+dracut (036-1) unstable; urgency=low
+
+ * new upstream, Closes: #720105
+ * control: use kmod in depends, Closes: #733699
+ * control: add conflicts, closes: #729809
+ * control: change package description one liner
+ * aufs: mount /cow with mode 0775, Closes: #737554
+ * add NEWS.Debian
+ * adjust patches
+ * improve watch file
+
+ -- Thomas Lange <lange@debian.org> Mon, 17 Feb 2014 15:53:00 +0100
+
+dracut (034-2) unstable; urgency=low
+
+ * postinst, preinst: respect second argument, Closes: #729621
+ * postinst: do nothing if no initrd is needed, Closes: #729622
+ Thanks to Ben Hutchings for both patches
+
+ -- Thomas Lange <lange@debian.org> Fri, 15 Nov 2013 21:14:42 +0100
+
+dracut (034-1) unstable; urgency=low
+
+ * new upstream
+ * patches/libdir: add space to string, Closes: #724514
+ * debian/etc/10-debian.conf: disable prelink by default, Closes: #719608
+ * dracut.install: remove bcache module
+
+ -- Thomas Lange <lange@debian.org> Wed, 09 Oct 2013 11:38:06 +0200
+
+dracut (033-1) unstable; urgency=low
+
+ * new upstream
+ * fix path for resume binary, Closes: #708253
+
+ -- Thomas Lange <lange@debian.org> Thu, 19 Sep 2013 17:28:20 +0200
+
+dracut (032-1) unstable; urgency=low
+
+ * new upstream
+ * add bash completion for lsinitrd
+ * add bash module
+ * postinst.d/dracut: remove code since dracut now handles multiarch lib
+ dirs
+ * refresh patches
+
+ -- Thomas Lange <lange@debian.org> Fri, 23 Aug 2013 13:18:38 +0200
+
+dracut (031-2) unstable; urgency=low
+
+ * control: move arch from all to any,
+ add Multi-Arch line, Closes: #719610
+ * use dracut-install executable instead of shell implementation
+ * dracut.install,dracut-network.install: add all dracut modules
+
+ -- Thomas Lange <lange@debian.org> Fri, 16 Aug 2013 11:03:44 +0200
+
+dracut (031-1) unstable; urgency=low
+
+ * new upstream
+ * update debian patches
+ * control: add curl to recommends of dracut-network
+ * copyright: add entry for dracut-install.c
+
+ -- Thomas Lange <lange@debian.org> Sun, 11 Aug 2013 11:49:45 +0200
+
+dracut (027-1) unstable; urgency=low
+
+ * new upstream
+ * update copyright information
+
+ -- Thomas Lange <lange@debian.org> Thu, 28 Mar 2013 20:52:50 +0100
+
+dracut (026+71+g78d1d4f-1) unstable; urgency=low
+
+ * new upstream 026+71+g78d1d4f
+ * add man pages
+ * add bash completions
+ * add cifs module to dracut-network
+ * cleanup patches
+
+ -- Thomas Lange <lange@debian.org> Mon, 25 Mar 2013 14:03:36 +0100
+
+dracut (020-2) unstable; urgency=low
+
+ * use $kernel when calling modprobe: Closes: #685004
+
+ -- Thomas Lange <lange@debian.org> Wed, 07 Nov 2012 17:55:07 +0100
+
+dracut (020-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload by the Security Team.
+ * Fixing CVE-2012-4453: Create the initramfs non-world readable
+ (Closes: #688956).
+
+ -- Luk Claes <luk@debian.org> Sun, 04 Nov 2012 18:47:50 +0100
+
+dracut (020-1) unstable; urgency=low
+
+ * new upstream version
+ * disable building of dracut-install executable, the package should
+ remain architecture all for now
+ * add qemu modules
+
+ -- Thomas Lange <lange@debian.org> Sat, 30 Jun 2012 17:24:54 +0200
+
+dracut (019+39+gf48f934-1) unstable; urgency=high
+
+ * sync to upstream, get important fix for missing libraries needed for
+ nfs module
+ * add nogroup to /etc/group inside the initrd
+ * use /etc/ld.so.conf.d/ for creating list of library pathes
+
+ -- Thomas Lange <lange@debian.org> Tue, 19 Jun 2012 10:30:39 +0200
+
+dracut (019+9+g521c57a-1) unstable; urgency=high
+
+ * import some upstream patches which fixes the "pkg-config command not
+ found" errors
+ * postinst.d/dracut: create modules.dep if it not already exists
+
+ -- Thomas Lange <lange@debian.org> Tue, 12 Jun 2012 16:59:41 +0200
+
+dracut (019+1+gd77540c-1) unstable; urgency=medium
+
+ * new upstream
+ * add build-depends Closes: #674326
+ * do not mount /dev/shm, Closes: #637286
+
+ -- Thomas Lange <lange@debian.org> Mon, 04 Jun 2012 16:59:14 +0200
+
+dracut (018+32+geb6e141-1) unstable; urgency=low
+
+ * add Debian multiarch support
+ * dracut.postinst: do not use uname -r for kernel version
+ * control: add depends on kbd
+ * postinst.d/dracut: use --libdirs for multiarch support
+
+ -- Thomas Lange <lange@debian.org> Thu, 26 Apr 2012 17:46:53 +0200
+
+dracut (018-2) unstable; urgency=low
+
+ * postinst.d/dracut: only execute if dracut command is available
+ * postrm.d/dracut: fix file name
+
+ -- Thomas Lange <lange@debian.org> Thu, 19 Apr 2012 10:25:02 +0200
+
+dracut (018-1) unstable; urgency=low
+
+ * new upstream version
+ * control: dracut now uses asciidoc, add conflicts on initramfs-tools
+ * postinst.d/dracut: new file name for initrd
+ * add 80cms modules to dracut-network
+
+ -- Thomas Lange <lange@debian.org> Wed, 18 Apr 2012 13:30:05 +0200
+
+dracut (017-1) unstable; urgency=low
+
+ * new upstream version
+ * do not call dracut if no kernel was found, fix code Closes: #657754
+ * control: update to 3.9.3, no changes needed, add Build-depends
+ * patches/aufs: aufs was always enabled, now aufs is only activated if
+ the string aufs was given on the command line
+ * control: update to Standards version 3.9.2, no changes needed, needs
+ util-linux >= 2.20
+ * debian/patches, rules: add quilt support
+ * add aufs patch
+ * control: fix VCS fields
+ * add url-lib, img-lib, ssh-client modules
+ * add add dracut-initramfs-restore
+ * add patch for missing rpc user and group
+ * add patch for missing unimaps directory Closes: #637296 #661531
+
+ -- Thomas Lange <lange@debian.org> Wed, 29 Feb 2012 20:15:50 +0100
+
+dracut (013-5) unstable; urgency=high
+
+ * do not call dracut if no kernel was found Closes: #657754
+
+ -- Thomas Lange <lange@debian.org> Tue, 14 Feb 2012 10:32:02 +0100
+
+dracut (013-4) unstable; urgency=low
+
+ * patches/aufs: aufs was always enabled, now aufs is only activated if
+ the string aufs was given on the command line
+
+ -- Thomas Lange <lange@debian.org> Sat, 11 Feb 2012 12:14:23 +0100
+
+dracut (013-3) unstable; urgency=low
+
+ * add aufs module, for booting a read-only nfsroot and make it writeable
+ * control: fix VCS fields, update to Standards 3.9.2, no changes needed
+
+ -- Thomas Lange <lange@debian.org> Mon, 16 Jan 2012 12:32:30 +0100
+
+dracut (013-2) unstable; urgency=low
+
+ * control: add Build-Depends Closes: #642683
+ * control: add Depends on kpartx Closes: #636549
+
+ -- Thomas Lange <lange@debian.org> Mon, 26 Sep 2011 17:49:46 +0200
+
+dracut (013-1) unstable; urgency=low
+
+ * new upstream version, Closes: #636549
+ * source/format: use 3.0 quilt format
+ * control: fix Vcs-Browser Closes: #637305
+ * add dracut.postrm, dracut.logrotate Closes: #637306
+ * postrm.d,postinst.d: remove obsolete else part, Closes: #627023
+ * add missing dracut.kernel.7
+ * add fs-lib module to dracut
+ * add livenet module to dracut-network
+ * move znet and zfcp to dracut-network
+
+ -- Thomas Lange <lange@debian.org> Fri, 02 Sep 2011 11:51:41 +0200
+
+dracut (011+36+gd727c5a-1) unstable; urgency=low
+
+ * new upstream release Closes: #617893, #628190, #581092, #581091
+ * new maintainer
+ * dracut.install,dracut.dirs: remove non-existing modules, add
+ dracut.logger, lsinitrd and new modules
+ * rules: use new debhelper, no more cdbs
+ * control: new URL for git repository, update dependencies, update to
+ standards 3.9.1, add URL for homepage
+ * add file watch
+ * copyright: move to machine readable format, fix URLs
+ * compat: update to 8
+ * dracut.docs: add missing files, remove COPYING
+ * postinst.d/dracut: add script that creates the initrd Closes: #627023
+ * postrm.d/dracut: add script that removes initrd Closes: #627023
+
+ -- Thomas Lange <lange@debian.org> Wed, 03 Aug 2011 17:01:36 +0200
+
+dracut (005-1) unstable; urgency=low
+
+ * Version 005
+ * First dracut release to unstable. Closes: #558274
+
+ -- Philippe Seewer <philippe.seewer@bfh.ch> Fri, 9 May 2010 11:20:00 +0100
+
+dracut (004-1) unreleased; urgency=low
+
+ * Version 004
+
+ -- Philippe Seewer <philippe.seewer@bfh.ch> Fri, 5 Mar 2010 15:25:00 +0100
+
+dracut (003-1) unreleased; urgency=low
+
+ * Version 003
+
+ -- Philippe Seewer <philippe.seewer@bfh.ch> Fri, 27 Nov 2009 15:52:00 +0100
+
+dracut (002-1) unreleased; urgency=low
+
+ * Version 002
+
+ -- Philippe Seewer <philippe.seewer@bfh.ch> Fri, 27 Nov 2009 15:52:00 +0100
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..5d34b9f
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,85 @@
+Source: dracut
+Section: utils
+Priority: optional
+Maintainer: Thomas Lange <lange@debian.org>
+Build-Depends: debhelper-compat (= 12), debhelper, asciidoc-base, xsltproc, docbook-xsl, docbook-xml, quilt, libkmod-dev, pkg-config
+Standards-Version: 4.6.2
+Vcs-Browser: https://salsa.debian.org/debian/dracut
+Vcs-Git: https://salsa.debian.org/debian/dracut.git
+Homepage: https://github.com/dracutdevs/dracut/wiki/
+
+Package: dracut
+Architecture: all
+Multi-Arch: foreign
+Suggests: dracut-network
+Depends: dracut-core (>= ${binary:Version}), dracut-core (<< ${binary:Version}+b+~), ${misc:Depends}
+Provides: linux-initramfs-tool
+Conflicts: initramfs-tools, live-tools
+Description: Initramfs generator using udev
+ This package builds a bootable initramfs for Linux kernel packages. The
+ initramfs is loaded along with the kernel and is responsible for
+ mounting the root filesystem and starting the main init system.
+
+Package: dracut-core
+Architecture: any
+Multi-Arch: foreign
+Recommends: cryptsetup, dmsetup, dmraid, lvm2, mdadm, console-setup, binutils, systemd, pigz, pkg-config
+Depends: cpio, kmod, udev, kpartx, libkmod2, e2fsprogs, ${shlibs:Depends}, ${misc:Depends}
+Breaks: dracut-network (<< 057+157-2), dracut-live (<< 059-2)
+Replaces: dracut-network (<< 057+157-2), dracut-live (<< 059-2)
+Description: dracut is an event driven initramfs infrastructure (core tools)
+ Unlike existing initramfs's, this is an attempt at having as little as
+ possible hard-coded into the initramfs as possible. The initramfs has
+ (basically) one purpose in life -- getting the rootfs mounted so that
+ we can transition to the real rootfs. This is all driven off of
+ device availability. Therefore, instead of scripts hard-coded to do
+ various things, we depend on udev to create device nodes for us and
+ then when we have the rootfs's device node, we mount and carry on.
+ Having the root on MD, LVM2, LUKS is supported as well as NFS, iSCSI,
+ NBD and FCOE with dracut-network.
+
+Package: dracut-network
+Architecture: all
+Recommends: nfs-common, open-iscsi, nbd-client, curl
+Depends: dracut-core, iputils-arping, isc-dhcp-client | systemd | connman | network-manager, ${misc:Depends}
+Description: dracut is an event driven initramfs infrastructure (network modules)
+ Package to build a dracut initramfs with network support. This
+ includes dracut modules for NFS, CIFS, iSCSI, HTTP, NBD, FCP and FCOE.
+
+Package: dracut-squash
+Architecture: all
+Depends: dracut-core, squashfs-tools, ${misc:Depends}
+Breaks: dracut-core (<< 050-1)
+Replaces: dracut-core (<< 050-1)
+Description: dracut is an event driven initramfs infrastructure (squashfs modules)
+ Package to build an initramfs with most files in a squashfs image.
+ .
+ This package provides a dracut module to build an initramfs, but
+ store most files in a squashfs image, result in a smaller initramfs
+ size and reduce runtime memory usage.
+
+Package: dracut-live
+Architecture: all
+Recommends: dracut-network
+Depends: dracut-core, dmsetup, ${misc:Depends}
+Breaks: dracut-network (<< 050-1), dracut-core (<< 050-1)
+Replaces: dracut-network (<< 050-1), dracut-core (<< 050-1)
+Description: dracut is an event driven initramfs infrastructure (live image modules)
+ Package to build a dracut initramfs with live image capabilities.
+ .
+ This package requires everything which is needed to build an
+ initramfs with dracut, with live image capabilities, like Live CDs.
+
+Package: dracut-config-generic
+Architecture: all
+Depends: dracut-core, ${misc:Depends}
+Multi-Arch: foreign
+Description: dracut is an event driven initramfs infrastructure
+ This is the dracut configuration to turn off hostonly image generation
+
+Package: dracut-config-rescue
+Architecture: all
+Depends: dracut-core, ${misc:Depends}
+Multi-Arch: foreign
+Description: dracut is an event driven initramfs infrastructure
+ This is the dracut configuration to turn on rescue image generation
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..60674be
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,105 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: dracut
+Upstream-contact: Harald Hoyer <harald@redhat.com>
+Source: http://www.kernel.org/pub/linux/utils/boot/dracut/
+
+Files: *
+Copyright:
+ 2005-2012, Red Hat, Inc.
+ 2012, Harald Hoyer <harald@redhat.com>
+ 2008, Jeremy Katz <katzj@redhat.com>
+License: GPL-2+
+
+Files: debian/*
+Copyright:
+ 2009, Philippe Seewer <philippe.seewer@bfh.ch>
+ 2011-2020 Thomas Lange <lange@informatik.uni-koeln.de>
+License: GPL-2+
+
+Files: modules.d/97masterkey/masterkey.sh
+ modules.d/98ecryptfs/ecryptfs-mount.sh
+ modules.d/98integrity/evm-enable.sh
+ modules.d/98integrity/ima-policy-load.sh
+Copyright: 2011 Politecnico di Torino, Italy
+ Roberto Sassu
+License: GPL-2+
+
+Files: src/dracut-cpio/*
+Copyright: 2021 SUSE LLC
+License: GPL-2+
+
+Files: src/dracut-cpio/third_party/crosvm/*
+Copyright: 2017 The Chromium OS Authors
+License: BSD-3-clause
+
+Files:
+ src/install/hashmap.* src/install/log.*
+ src/install/macro.h src/install/util.*
+ src/install/strv.*
+Copyright: 2010 Lennart Poettering
+License: LGPL-2.1+
+
+Files: src/install/dracut-install.c
+Copyright:
+ (C) 2012 Harald Hoyer
+ (C) 2012 Red Hat, Inc. All rights reserved.
+License: LGPL-2.1+
+
+Files: test/TEST-30-ISCSI/ibft.pl
+Copyright: 2019 Lubomir Rintel
+License: GPL-2+
+
+License: BSD-3-clause
+ Copyright 2017 The Chromium OS Authors. All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: GPL-2+
+ 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 the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+License: LGPL-2.1+
+ On Debian GNU/Linux systems, the complete text of the LGPL 2.1
+ license can be found in `/usr/share/common-licenses/LGPL-2.1'.
diff --git a/debian/dracut-config-generic.install b/debian/dracut-config-generic.install
new file mode 100644
index 0000000..df9eb16
--- /dev/null
+++ b/debian/dracut-config-generic.install
@@ -0,0 +1 @@
+debian/etc/20-generic-image.conf etc/dracut.conf.d
diff --git a/debian/dracut-config-rescue.install b/debian/dracut-config-rescue.install
new file mode 100644
index 0000000..1d6576d
--- /dev/null
+++ b/debian/dracut-config-rescue.install
@@ -0,0 +1 @@
+debian/etc/20-rescue.conf etc/dracut.conf.d
diff --git a/debian/dracut-core.README.Debian b/debian/dracut-core.README.Debian
new file mode 100644
index 0000000..c4be178
--- /dev/null
+++ b/debian/dracut-core.README.Debian
@@ -0,0 +1,42 @@
+dracut for Debian
+-----------------
+
+1. Give it a try
+
+Currently dracut is not the default initrd creation tool in Debian.
+You can try dracut without removing initramfs-tools from your machine
+by following these steps:
+
+# apt-get --no-install-recommends install dracut-core
+
+cd /boot
+cp -p vmlinuz-4.0.9-6-amd64 vmlinuz-4.0.9-6-amd64~dracut
+dracut /boot/initrd.img-4.0.9-6-amd64~dracut
+update-grub
+
+You will get a new grub menu entry under advanced boot options, which you can boot then
+
+Select: Advanced options for Debian GNU/Linux
+Then: Debian GNU/Linux, with Linux 4.0.9-6-amd64~dracut
+
+The initrd created by initramfs-tools will remain the default boot entry of grub.
+
+If the new initrd works for you, you can switch from initramfs-tools to dracut
+by installing the package dracut. This will then replace initramfs-tools.
+
+
+2. Check the content of the dracut initrd
+lsinitrd /boot/initrd.img-4.0.9-6-amd64~dracut
+
+3. i18n
+
+The module i18n for setting up the keyboard and the font is disabled in
+Debian. You cannot use the variables described in modules.d/10i18n/README.
+
+Instead, dracut uses the module 09console-setup which uses setupcon and
+is configured in the files /etc/default/keyboard (the keyboard) and
+/etc/default/console-setup (the font). If you prefer to configure by
+Debconf, you can use dpkg-reconfigure keyboard-configuration and
+dpkg-reconfigure console-setup.
+
+ -- Thomas Lange <lange@debian.org>, Sat, 19 May 2018 18:50:02 +0200
diff --git a/debian/dracut-core.dirs b/debian/dracut-core.dirs
new file mode 100644
index 0000000..d9d4d66
--- /dev/null
+++ b/debian/dracut-core.dirs
@@ -0,0 +1,2 @@
+/var/lib/dracut
+/etc/dracut.conf.d
diff --git a/debian/dracut-core.docs b/debian/dracut-core.docs
new file mode 100644
index 0000000..ff0ef07
--- /dev/null
+++ b/debian/dracut-core.docs
@@ -0,0 +1,8 @@
+AUTHORS
+docs/HACKING.md
+NEWS.md
+README.md
+docs/README.cross
+docs/README.generic
+docs/README.kernel
+dracut.html
diff --git a/debian/dracut-core.install b/debian/dracut-core.install
new file mode 100644
index 0000000..aa675bf
--- /dev/null
+++ b/debian/dracut-core.install
@@ -0,0 +1,113 @@
+usr/bin/dracut
+usr/bin/dracut-catimages
+usr/bin/lsinitrd
+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-util
+usr/lib/dracut/skipcpio
+usr/lib/dracut/dracut-logger.sh
+lib/systemd/system
+usr/share/bash-completion/completions
+usr/share/pkgconfig/dracut.pc
+usr/lib/dracut/dracut-version.sh
+etc/dracut.conf etc
+debian/09console-setup usr/lib/dracut/modules.d
+debian/90overlay-root usr/lib/dracut/modules.d
+usr/lib/dracut/modules.d/00bash
+usr/lib/dracut/modules.d/00dash
+usr/lib/dracut/modules.d/00mksh
+usr/lib/dracut/modules.d/00systemd
+usr/lib/dracut/modules.d/00warpclock
+usr/lib/dracut/modules.d/01fips
+usr/lib/dracut/modules.d/01systemd-ac-power
+usr/lib/dracut/modules.d/01systemd-ask-password
+usr/lib/dracut/modules.d/01systemd-coredump
+usr/lib/dracut/modules.d/01systemd-hostnamed
+usr/lib/dracut/modules.d/01systemd-initrd
+usr/lib/dracut/modules.d/01systemd-integritysetup
+usr/lib/dracut/modules.d/01systemd-journald
+usr/lib/dracut/modules.d/01systemd-ldconfig
+usr/lib/dracut/modules.d/01systemd-modules-load
+usr/lib/dracut/modules.d/01systemd-pcrphase
+usr/lib/dracut/modules.d/01systemd-portabled
+usr/lib/dracut/modules.d/01systemd-pstore
+usr/lib/dracut/modules.d/01systemd-repart
+usr/lib/dracut/modules.d/01systemd-resolved
+usr/lib/dracut/modules.d/01systemd-sysctl
+usr/lib/dracut/modules.d/01systemd-sysext
+usr/lib/dracut/modules.d/01systemd-sysusers
+usr/lib/dracut/modules.d/01systemd-timedated
+usr/lib/dracut/modules.d/01systemd-timesyncd
+usr/lib/dracut/modules.d/01systemd-tmpfiles
+usr/lib/dracut/modules.d/01systemd-udevd
+usr/lib/dracut/modules.d/01systemd-veritysetup
+usr/lib/dracut/modules.d/02caps
+usr/lib/dracut/modules.d/03modsign
+usr/lib/dracut/modules.d/03rescue
+usr/lib/dracut/modules.d/04watchdog
+usr/lib/dracut/modules.d/04watchdog-modules
+usr/lib/dracut/modules.d/05busybox
+usr/lib/dracut/modules.d/06dbus-broker
+usr/lib/dracut/modules.d/06dbus-daemon
+usr/lib/dracut/modules.d/06rngd
+usr/lib/dracut/modules.d/09dbus
+usr/lib/dracut/modules.d/10i18n
+usr/lib/dracut/modules.d/30convertfs
+usr/lib/dracut/modules.d/50drm
+usr/lib/dracut/modules.d/50plymouth
+usr/lib/dracut/modules.d/62bluetooth
+usr/lib/dracut/modules.d/80lvmmerge
+usr/lib/dracut/modules.d/81cio_ignore
+usr/lib/dracut/modules.d/80lvmthinpool-monitor
+usr/lib/dracut/modules.d/90btrfs
+usr/lib/dracut/modules.d/90crypt
+usr/lib/dracut/modules.d/90dm
+usr/lib/dracut/modules.d/90dmraid
+usr/lib/dracut/modules.d/90kernel-modules
+usr/lib/dracut/modules.d/90kernel-modules-extra
+usr/lib/dracut/modules.d/90lvm
+usr/lib/dracut/modules.d/90mdraid
+usr/lib/dracut/modules.d/90multipath
+usr/lib/dracut/modules.d/90nvdimm
+usr/lib/dracut/modules.d/90overlayfs
+usr/lib/dracut/modules.d/90ppcmac
+usr/lib/dracut/modules.d/90qemu
+usr/lib/dracut/modules.d/91crypt-gpg
+usr/lib/dracut/modules.d/91crypt-loop
+usr/lib/dracut/modules.d/91fido2
+usr/lib/dracut/modules.d/91pcsc
+usr/lib/dracut/modules.d/91pkcs11
+usr/lib/dracut/modules.d/91tpm2-tss
+usr/lib/dracut/modules.d/91zipl
+usr/lib/dracut/modules.d/95dasd
+usr/lib/dracut/modules.d/95dasd_mod
+usr/lib/dracut/modules.d/95dasd_rules
+usr/lib/dracut/modules.d/95dcssblk
+usr/lib/dracut/modules.d/95debug
+usr/lib/dracut/modules.d/95fstab-sys
+usr/lib/dracut/modules.d/95lunmask
+usr/lib/dracut/modules.d/95nvmf
+usr/lib/dracut/modules.d/95qeth_rules
+usr/lib/dracut/modules.d/95resume
+usr/lib/dracut/modules.d/95rootfs-block
+usr/lib/dracut/modules.d/95terminfo
+usr/lib/dracut/modules.d/95udev-rules
+usr/lib/dracut/modules.d/95virtfs
+usr/lib/dracut/modules.d/95virtiofs
+usr/lib/dracut/modules.d/96securityfs
+usr/lib/dracut/modules.d/97biosdevname
+usr/lib/dracut/modules.d/97masterkey
+usr/lib/dracut/modules.d/98dracut-systemd
+usr/lib/dracut/modules.d/98ecryptfs
+usr/lib/dracut/modules.d/98integrity
+usr/lib/dracut/modules.d/98pollcdrom
+usr/lib/dracut/modules.d/98selinux
+usr/lib/dracut/modules.d/98syslog
+usr/lib/dracut/modules.d/98usrmount
+usr/lib/dracut/modules.d/99base
+usr/lib/dracut/modules.d/99fs-lib
+usr/lib/dracut/modules.d/99memstrack
+usr/lib/dracut/modules.d/99shutdown
diff --git a/debian/dracut-core.lintian-overrides b/debian/dracut-core.lintian-overrides
new file mode 100644
index 0000000..9396887
--- /dev/null
+++ b/debian/dracut-core.lintian-overrides
@@ -0,0 +1,4 @@
+# one single directory for modules is needed, see https://github.com/dracutdevs/dracut/issues/2485
+dracut-core: executable-in-usr-lib [usr/lib/dracut/*]
+# False positive: these systemd units are only needed when using systemd inside the initramfs
+dracut-core: package-supports-alternative-init-but-no-init.d-script
diff --git a/debian/dracut-core.logrotate b/debian/dracut-core.logrotate
new file mode 100644
index 0000000..04ca744
--- /dev/null
+++ b/debian/dracut-core.logrotate
@@ -0,0 +1,7 @@
+/var/log/dracut.log {
+ rotate 12
+ monthly
+ compress
+ missingok
+ notifempty
+}
diff --git a/debian/dracut-core.manpages b/debian/dracut-core.manpages
new file mode 100644
index 0000000..918f873
--- /dev/null
+++ b/debian/dracut-core.manpages
@@ -0,0 +1 @@
+usr/share/man/man?/*
diff --git a/debian/dracut-core.postrm b/debian/dracut-core.postrm
new file mode 100644
index 0000000..f9d4e62
--- /dev/null
+++ b/debian/dracut-core.postrm
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+set -e
+
+case "$1" in
+ purge)
+ rm -f /var/log/dracut.log*
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/dracut-live.install b/debian/dracut-live.install
new file mode 100644
index 0000000..126cfd0
--- /dev/null
+++ b/debian/dracut-live.install
@@ -0,0 +1,5 @@
+usr/lib/dracut/modules.d/99img-lib
+usr/lib/dracut/modules.d/90dmsquash-live
+usr/lib/dracut/modules.d/90dmsquash-live-autooverlay
+usr/lib/dracut/modules.d/90dmsquash-live-ntfs
+usr/lib/dracut/modules.d/90livenet
diff --git a/debian/dracut-live.lintian-overrides b/debian/dracut-live.lintian-overrides
new file mode 100644
index 0000000..9ce65f0
--- /dev/null
+++ b/debian/dracut-live.lintian-overrides
@@ -0,0 +1,2 @@
+# one single directory for modules is needed, see https://github.com/dracutdevs/dracut/issues/2485
+dracut-live: executable-in-usr-lib [usr/lib/dracut/*]
diff --git a/debian/dracut-network.conffiles b/debian/dracut-network.conffiles
new file mode 100644
index 0000000..7f373ad
--- /dev/null
+++ b/debian/dracut-network.conffiles
@@ -0,0 +1 @@
+remove-on-upgrade /etc/dracut.conf.d/11-ifcfg.conf
diff --git a/debian/dracut-network.install b/debian/dracut-network.install
new file mode 100644
index 0000000..b2aace1
--- /dev/null
+++ b/debian/dracut-network.install
@@ -0,0 +1,21 @@
+usr/lib/dracut/modules.d/00systemd-network-management
+usr/lib/dracut/modules.d/01systemd-networkd
+usr/lib/dracut/modules.d/35connman
+usr/lib/dracut/modules.d/35network-manager
+usr/lib/dracut/modules.d/35network-legacy
+usr/lib/dracut/modules.d/40network
+usr/lib/dracut/modules.d/45url-lib
+usr/lib/dracut/modules.d/80cms
+usr/lib/dracut/modules.d/90kernel-network-modules
+usr/lib/dracut/modules.d/90qemu-net
+usr/lib/dracut/modules.d/95cifs
+usr/lib/dracut/modules.d/95znet
+usr/lib/dracut/modules.d/95zfcp
+usr/lib/dracut/modules.d/95zfcp_rules
+usr/lib/dracut/modules.d/95fcoe
+usr/lib/dracut/modules.d/95fcoe-uefi
+usr/lib/dracut/modules.d/95iscsi
+usr/lib/dracut/modules.d/95nbd
+usr/lib/dracut/modules.d/95nfs
+usr/lib/dracut/modules.d/95ssh-client
+usr/lib/dracut/modules.d/99uefi-lib
diff --git a/debian/dracut-network.lintian-overrides b/debian/dracut-network.lintian-overrides
new file mode 100644
index 0000000..114327b
--- /dev/null
+++ b/debian/dracut-network.lintian-overrides
@@ -0,0 +1,2 @@
+# one single directory for modules is needed, see https://github.com/dracutdevs/dracut/issues/2485
+dracut-network: executable-in-usr-lib [usr/lib/dracut/*]
diff --git a/debian/dracut-squash.install b/debian/dracut-squash.install
new file mode 100644
index 0000000..3f7f905
--- /dev/null
+++ b/debian/dracut-squash.install
@@ -0,0 +1 @@
+usr/lib/dracut/modules.d/99squash
diff --git a/debian/dracut.install b/debian/dracut.install
new file mode 100644
index 0000000..ab25bf8
--- /dev/null
+++ b/debian/dracut.install
@@ -0,0 +1 @@
+debian/kernel etc
diff --git a/debian/dracut.postinst b/debian/dracut.postinst
new file mode 100644
index 0000000..d0b55ed
--- /dev/null
+++ b/debian/dracut.postinst
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -e
+
+
+mk_initrd() {
+
+ if ls /boot/vmlinu[zx]-* >/dev/null 2>&1; then
+
+ # Regenerate initramfs for all kernel that are installed
+ for kversion in `ls /boot/vmlinu[zx]-* | sed -e 's#/boot/vmlinu.-##'`; do
+ /etc/kernel/postinst.d/dracut $kversion
+ done
+ fi
+}
+
+if [ "x$1" != xtriggered ]; then
+ # activate trigger
+ if dpkg-trigger --no-await update-initramfs; then
+ echo "update-initramfs: deferring update (trigger activated)"
+ exit 0
+ fi
+else
+ mk_initrd
+fi
+
+#DEBHELPER#
diff --git a/debian/dracut.triggers b/debian/dracut.triggers
new file mode 100644
index 0000000..860c664
--- /dev/null
+++ b/debian/dracut.triggers
@@ -0,0 +1 @@
+interest update-initramfs
diff --git a/debian/etc/20-generic-image.conf b/debian/etc/20-generic-image.conf
new file mode 100644
index 0000000..1891236
--- /dev/null
+++ b/debian/etc/20-generic-image.conf
@@ -0,0 +1 @@
+hostonly="no"
diff --git a/debian/etc/20-rescue.conf b/debian/etc/20-rescue.conf
new file mode 100644
index 0000000..6d6a170
--- /dev/null
+++ b/debian/etc/20-rescue.conf
@@ -0,0 +1 @@
+dracut_rescue_image="yes"
diff --git a/debian/fix-revdate b/debian/fix-revdate
new file mode 100755
index 0000000..fd1af1c
--- /dev/null
+++ b/debian/fix-revdate
@@ -0,0 +1,15 @@
+sed -i -e '3i:revdate: 2022-08-26' man/dracut-catimages.8.asc
+sed -i -e '3i:revdate: 2023-08-21' man/dracut.8.asc
+sed -i -e '3i:revdate: 2023-07-24' man/dracut.bootup.7.asc
+sed -i -e '3i:revdate: 2023-08-21' man/dracut.cmdline.7.asc
+sed -i -e '3i:revdate: 2023-08-21' man/dracut.conf.5.asc
+sed -i -e '3i:revdate: 2023-08-21' man/dracut.modules.7.asc
+sed -i -e '3i:revdate: 2022-08-26' man/lsinitrd.1.asc
+sed -i -e '3i:revdate: 2015-03-19' modules.d/98dracut-systemd/dracut-cmdline.service.8.asc
+sed -i -e '3i:revdate: 2015-03-19' modules.d/98dracut-systemd/dracut-initqueue.service.8.asc
+sed -i -e '3i:revdate: 2015-03-19' modules.d/98dracut-systemd/dracut-mount.service.8.asc
+sed -i -e '3i:revdate: 2015-03-19' modules.d/98dracut-systemd/dracut-pre-mount.service.8.asc
+sed -i -e '3i:revdate: 2015-03-19' modules.d/98dracut-systemd/dracut-pre-pivot.service.8.asc
+sed -i -e '3i:revdate: 2015-03-19' modules.d/98dracut-systemd/dracut-pre-trigger.service.8.asc
+sed -i -e '3i:revdate: 2015-03-19' modules.d/98dracut-systemd/dracut-pre-udev.service.8.asc
+sed -i -e '3i:revdate: 2022-02-02' modules.d/98dracut-systemd/dracut-shutdown.service.8.asc
diff --git a/debian/kernel/postinst.d/dracut b/debian/kernel/postinst.d/dracut
new file mode 100755
index 0000000..b202df4
--- /dev/null
+++ b/debian/kernel/postinst.d/dracut
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+version="$1"
+bootdir=/boot
+
+[ -x /usr/bin/dracut ] || exit 0
+
+# passing the kernel version is required
+[ -z "${version}" ] && exit 0
+
+# exit if custom kernel does not need an initramfs
+[ "$INITRD" = 'No' ] && exit 0
+
+# absolute file name of kernel image may be passed as a second argument;
+# create the initrd in the same directory
+if [ -n "$2" ]; then
+ bootdir=$(dirname "$2")
+fi
+
+# avoid running multiple times
+if [ -n "$DEB_MAINT_PARAMS" ]; then
+ eval set -- "$DEB_MAINT_PARAMS"
+ if [ -z "$1" ] || [ "$1" != "configure" ]; then
+ exit 0
+ fi
+fi
+
+# check if modules.dep already exists. If not create it
+# maybe this problem could also be solved via Debian triggers
+if [ ! -f $bootdir/../lib/modules/$version/modules.dep ]; then
+ depmod -a -F $bootdir/System.map-$version $version
+fi
+
+# we're good - create initramfs
+echo "dracut: Generating $bootdir/initrd.img-${version}"
+dracut -q --force $bootdir/initrd.img-${version} "${version}" >&2
diff --git a/debian/kernel/postrm.d/dracut b/debian/kernel/postrm.d/dracut
new file mode 100755
index 0000000..ab1c86c
--- /dev/null
+++ b/debian/kernel/postrm.d/dracut
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+version="$1"
+bootdir=/boot
+
+# passing the kernel version is required
+[ -z "${version}" ] && exit 0
+
+# absolute file name of kernel image may be passed as a second argument;
+# remove the initrd from the same directory
+if [ -n "$2" ]; then
+ bootdir=$(dirname "$2")
+fi
+
+# avoid running multiple times
+if [ -n "$DEB_MAINT_PARAMS" ]; then
+ eval set -- "$DEB_MAINT_PARAMS"
+ if [ -z "$1" ] || [ "$1" != "remove" ]; then
+ exit 0
+ fi
+fi
+
+
+# delete initramfs
+rm -f "$bootdir/initrd.img-${version}"
diff --git a/debian/mk-fix-revdate b/debian/mk-fix-revdate
new file mode 100755
index 0000000..f16aeca
--- /dev/null
+++ b/debian/mk-fix-revdate
@@ -0,0 +1,8 @@
+#! /bin/bash
+
+> debian/fix-revdate
+for i in $(git grep -L ':revdate:' -- '*.[0-9].asc'); do
+ revdate=$(git log -1 --date=short --pretty='%cd' $i);
+ echo sed -i -e \'"3i:revdate: $revdate"\' $i >> debian/fix-revdate
+done
+chmod a+rx debian/fix-revdate
diff --git a/debian/not-installed b/debian/not-installed
new file mode 100644
index 0000000..1ec92ec
--- /dev/null
+++ b/debian/not-installed
@@ -0,0 +1,3 @@
+usr/lib/kernel/install.d/*
+# wicked dracut module is not supported by debian
+usr/lib/dracut/modules.d/35network-wicked/*
diff --git a/debian/patches/fido-libz b/debian/patches/fido-libz
new file mode 100644
index 0000000..64017f1
--- /dev/null
+++ b/debian/patches/fido-libz
@@ -0,0 +1,10 @@
+--- a/modules.d/91fido2/module-setup.sh
++++ b/modules.d/91fido2/module-setup.sh
+@@ -21,6 +21,7 @@
+ # Install required libraries.
+ _arch=${DRACUT_ARCH:-$(uname -m)}
+ inst_libdir_file \
++ {"tls/$_arch/",tls/,"$_arch/",}"libz.so.*" \
+ {"tls/$_arch/",tls/,"$_arch/",}"libfido2.so.*" \
+ {"tls/$_arch/",tls/,"$_arch/",}"libz.so.*" \
+ {"tls/$_arch/",tls/,"$_arch/",}"libcryptsetup.so.*" \
diff --git a/debian/patches/initrd-not-initramfs.patch b/debian/patches/initrd-not-initramfs.patch
new file mode 100644
index 0000000..bcfbf39
--- /dev/null
+++ b/debian/patches/initrd-not-initramfs.patch
@@ -0,0 +1,79 @@
+--- a/man/dracut.8.asc
++++ b/man/dracut.8.asc
+@@ -24,7 +24,7 @@
+ _/boot/<machine-id>/<kernel-version>/initrd_,
+ _/boot/efi/<machine-id>/<kernel-version>/initrd_,
+ _/lib/modules/<kernel-version>/initrd_ or
+-_/boot/initramfs-<kernel-version>.img_.
++_/boot/initrd.img-<kernel-version>_.
+
+ dracut creates an initial image used by the kernel for preloading the block
+ device modules (such as IDE, SCSI or RAID) which are needed to access the root
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1154,7 +1154,7 @@
+ elif [[ -f "$dracutsysrootdir"/lib/modules/${kernel}/initrd ]]; then
+ outfile="$dracutsysrootdir/lib/modules/${kernel}/initrd"
+ elif [[ -e $dracutsysrootdir/boot/vmlinuz-${kernel} ]]; then
+- outfile="$dracutsysrootdir/boot/initramfs-${kernel}.img"
++ outfile="$dracutsysrootdir/boot/initrd.img-${kernel}"
+ elif [[ -z $dracutsysrootdir ]] \
+ && [[ $MACHINE_ID ]] \
+ && mountpoint -q /efi; then
+@@ -1164,7 +1164,7 @@
+ && mountpoint -q /boot/efi; then
+ outfile="/boot/efi/${MACHINE_ID}/${kernel}/initrd"
+ else
+- outfile="$dracutsysrootdir/boot/initramfs-${kernel}.img"
++ outfile="$dracutsysrootdir/boot/initrd.img-${kernel}"
+ fi
+ fi
+ fi
+--- a/man/dracut.usage.asc
++++ b/man/dracut.usage.asc
+@@ -10,7 +10,7 @@
+ _/boot/_++<machine-id>++_/_++<kernel-version>++_/initrd_,
+ _/boot/efi/_++<machine-id>++_/_++<kernel-version>++_/initrd_,
+ _/lib/modules/_++<kernel-version>++_/initrd_ or
+-_/boot/initramfs-_++<kernel-version>++_.img_ and contains the kernel modules of
++_/boot/initrd.img-_++<kernel-version>++_ and contains the kernel modules of
+ the currently active kernel with version _++<kernel-version>++_.
+
+ If the initramfs image already exists, dracut will display an error message, and
+--- a/man/lsinitrd.1.asc
++++ b/man/lsinitrd.1.asc
+@@ -22,7 +22,7 @@
+ _/boot/<machine-id>/<kernel-version>/initrd_,
+ _/boot/efi/<machine-id>/<kernel-version>/initrd_,
+ _/lib/modules/<kernel-version>/initrd_ or
+-_/boot/initramfs-<kernel-version>.img_.
++_/boot/initrd.img-<kernel-version>_.
+
+ OPTIONS
+ -------
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -134,8 +134,8 @@
+ image="/lib/modules/${KERNEL_VERSION}/initrd"
+ elif [[ -f /lib/modules/${KERNEL_VERSION}/initramfs.img ]]; then
+ image="/lib/modules/${KERNEL_VERSION}/initramfs.img"
+- elif [[ -f /boot/initramfs-${KERNEL_VERSION}.img ]]; then
+- image="/boot/initramfs-${KERNEL_VERSION}.img"
++ elif [[ -f /boot/initrd.img-${KERNEL_VERSION} ]]; then
++ image="/boot/initrd.img-${KERNEL_VERSION}"
+ elif [[ $MACHINE_ID ]] \
+ && mountpoint -q /efi; then
+ image="/efi/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
+--- a/dracut-initramfs-restore.sh
++++ b/dracut-initramfs-restore.sh
+@@ -39,8 +39,8 @@
+ IMG="/boot/efi/$MACHINE_ID/$KERNEL_VERSION/initrd"
+ elif [[ -f /lib/modules/${KERNEL_VERSION}/initrd ]]; then
+ IMG="/lib/modules/${KERNEL_VERSION}/initrd"
+-elif [[ -f /boot/initramfs-${KERNEL_VERSION}.img ]]; then
+- IMG="/boot/initramfs-${KERNEL_VERSION}.img"
++elif [[ -f /boot/initrd.img-${KERNEL_VERSION} ]]; then
++ IMG="/boot/initrd.img-${KERNEL_VERSION}"
+ elif mountpoint -q /efi; then
+ IMG="/efi/$MACHINE_ID/$KERNEL_VERSION/initrd"
+ elif mountpoint -q /boot/efi; then
diff --git a/debian/patches/microcode b/debian/patches/microcode
new file mode 100644
index 0000000..4e2fcfc
--- /dev/null
+++ b/debian/patches/microcode
@@ -0,0 +1,11 @@
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -2144,7 +2144,7 @@
+ if [[ $hostonly ]]; then
+ _src=$(get_ucode_file)
+ [[ $_src ]] || break
+- [[ -r $_fwdir/$_fw/$_src ]] || _src="${_src}.early"
++ [[ -r $_fwdir/$_fw/$_src ]] || _src="${_src}.initramfs"
+ [[ -r $_fwdir/$_fw/$_src ]] || break
+ fi
+
diff --git a/debian/patches/nm-path b/debian/patches/nm-path
new file mode 100644
index 0000000..802da28
--- /dev/null
+++ b/debian/patches/nm-path
@@ -0,0 +1,25 @@
+--- a/modules.d/35network-manager/module-setup.sh
++++ b/modules.d/35network-manager/module-setup.sh
+@@ -30,8 +30,8 @@
+ inst_multiple ip sed grep
+
+ inst NetworkManager
+- inst_multiple -o /usr/{lib,libexec}/nm-initrd-generator
+- inst_multiple -o /usr/{lib,libexec}/nm-daemon-helper
++ inst_multiple -o /usr/{lib,libexec}{,/NetworkManager}/nm-initrd-generator
++ inst_multiple -o /usr/{lib,libexec}{,/NetworkManager}/nm-daemon-helper
+ inst_multiple -o teamd dhclient
+ inst_hook cmdline 99 "$moddir/nm-config.sh"
+ if dracut_module_included "systemd"; then
+--- a/modules.d/35network-manager/nm-lib.sh
++++ b/modules.d/35network-manager/nm-lib.sh
+@@ -10,6 +10,9 @@
+ elif [ -x /usr/lib/nm-initrd-generator ]; then
+ # shellcheck disable=SC2046
+ /usr/lib/nm-initrd-generator -- $(getcmdline)
++ elif [ -x /usr/lib/NetworkManager/nm-initrd-generator ]; then
++ # shellcheck disable=SC2046
++ /usr/lib/NetworkManager/nm-initrd-generator -- $(getcmdline)
+ else
+ warn "nm-initrd-generator not found"
+ fi
diff --git a/debian/patches/rpc-user b/debian/patches/rpc-user
new file mode 100644
index 0000000..8656109
--- /dev/null
+++ b/debian/patches/rpc-user
@@ -0,0 +1,40 @@
+--- a/modules.d/95nfs/nfs-start-rpc.sh
++++ b/modules.d/95nfs/nfs-start-rpc.sh
+@@ -9,7 +9,7 @@
+ command -v portmap > /dev/null && [ -z "$(pidof portmap)" ] && portmap
+ if command -v rpcbind > /dev/null && [ -z "$(pidof rpcbind)" ]; then
+ mkdir -p /run/rpcbind
+- chown rpc:rpc /run/rpcbind
++ chown _rpc:root /run/rpcbind
+ rpcbind
+ fi
+
+--- a/modules.d/95nfs/parse-nfsroot.sh
++++ b/modules.d/95nfs/parse-nfsroot.sh
+@@ -124,5 +124,5 @@
+ echo '[ -e $NEWROOT/proc ]' > "$hookdir"/initqueue/finished/nfsroot.sh
+
+ mkdir -p /var/lib/rpcbind
+-chown rpc:rpc /var/lib/rpcbind
++chown _rpc:root /var/lib/rpcbind
+ chmod 770 /var/lib/rpcbind
+--- a/modules.d/95nfs/module-setup.sh
++++ b/modules.d/95nfs/module-setup.sh
+@@ -125,14 +125,14 @@
+
+ # Rather than copy the passwd file in, just set a user for rpcbind
+ # We'll save the state and restart the daemon from the root anyway
+- grep -E '^nfsnobody:|^rpc:|^rpcuser:' "$dracutsysrootdir"/etc/passwd >> "$initdir/etc/passwd"
++ grep -E '^nfsnobody:|^_rpc:|^rpcuser:' "$dracutsysrootdir"/etc/passwd >> "$initdir/etc/passwd"
+ grep -E '^nogroup:|^rpc:|^nobody:' "$dracutsysrootdir"/etc/group >> "$initdir/etc/group"
+
+ # rpc user needs to be able to write to this directory to save the warmstart
+ # file
+ chmod 770 "$initdir/var/lib/rpcbind"
+- grep -q '^rpc:' "$dracutsysrootdir"/etc/passwd \
+- && grep -q '^rpc:' "$dracutsysrootdir"/etc/group
++ grep -q '^_rpc:' "$dracutsysrootdir"/etc/passwd \
++ && grep -q '^root:' "$dracutsysrootdir"/etc/group
+
+ dracut_need_initqueue
+ }
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..291266d
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,7 @@
+rpc-user
+udevsettle
+nm-path
+fido-libz
+vconsole
+microcode
+initrd-not-initramfs.patch
diff --git a/debian/patches/udevsettle b/debian/patches/udevsettle
new file mode 100644
index 0000000..4b1c592
--- /dev/null
+++ b/debian/patches/udevsettle
@@ -0,0 +1,10 @@
+--- a/modules.d/99base/init.sh
++++ b/modules.d/99base/init.sh
+@@ -155,6 +155,7 @@
+ # then the rest
+ udevadm trigger --type=subsystems --action=add > /dev/null 2>&1
+ udevadm trigger --type=devices --action=add > /dev/null 2>&1
++udevadm settle
+
+ make_trace_mem "hook initqueue" '1:shortmem' '2+:mem' '3+:slab'
+ getarg 'rd.break=initqueue' -d 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
diff --git a/debian/patches/vconsole b/debian/patches/vconsole
new file mode 100644
index 0000000..5729bd4
--- /dev/null
+++ b/debian/patches/vconsole
@@ -0,0 +1,12 @@
+--- a/modules.d/00systemd/module-setup.sh
++++ b/modules.d/00systemd/module-setup.sh
+@@ -245,7 +245,8 @@
+ systemd-ask-password-console.service \
+ systemd-ask-password-plymouth.service; do
+ [[ -f "$systemdsystemunitdir"/$i ]] || continue
+- $SYSTEMCTL -q --root "$initdir" add-wants "$i" systemd-vconsole-setup.service
++ # $SYSTEMCTL -q --root "$initdir" add-wants "$i" systemd-vconsole-setup.service
++ true
+ done
+
+ mkdir -p "$initdir/etc/systemd"
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..bce1c66
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,48 @@
+#!/usr/bin/make -f
+
+export DH_VERBOSE=1
+DPKG_EXPORT_BUILDTOOLS=1
+-include /usr/share/dpkg/buildtools.mk
+include /usr/share/dpkg/pkg-info.mk
+
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+export DRACUT_MAIN_VERSION=$(DEB_VERSION_UPSTREAM_REVISION)
+export DRACUT_FULL_VERSION=$(DEB_VERSION)
+
+%:
+ dh $@
+
+override_dh_auto_configure:
+ dh_auto_configure -- --systemdsystemunitdir=/lib/systemd/system --libdir=/usr/lib
+ $(SHELL) debian/fix-revdate
+ mv dracut-version.sh dracut-version.sh.orig
+ echo '#!/bin/sh' > dracut-version.sh
+ echo "DRACUT_VERSION=$${DRACUT_FULL_VERSION}" >> dracut-version.sh
+
+override_dh_fixperms-arch:
+ dh_fixperms
+ find debian/ -name "*.sh" | grep modules.d | xargs chmod 755
+
+override_dh_fixperms-indep:
+ dh_fixperms
+ find debian/ -name "*.sh" | grep modules.d | xargs chmod 755
+ rm -f debian/*/usr/lib/dracut/modules.d/98dracut-systemd/*.asc
+ rm -f debian/*/usr/lib/dracut/modules.d/98dracut-systemd/*.8
+ifneq ($(DEB_HOST_ARCH), s390x)
+ for m in 80cms 81cio_ignore 91zipl 95dasd 95dasd_mod \
+ 95dasd_rules 95dcssblk 95qeth_rules 95zfcp \
+ 95zfcp_rules 95znet; do \
+ rm -rf debian/*/usr/lib/dracut/modules.d/$$m ; \
+ done
+else
+ rm -rf debian/*/usr/lib/dracut/modules.d/00warpclock
+endif
+
+override_dh_auto_test:
+
+override_dh_clean:
+ if test -e dracut-version.sh.orig ; then \
+ mv -f dracut-version.sh.orig dracut-version.sh ;\
+ fi
+ dh_clean dracut.pc Makefile.inc src/skipcpio/skipcpio src/util/util
+ git status|grep modified: | awk '/.asc/ {print $$2}' | xargs -r git checkout
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..469b66b
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1 @@
+extend-diff-ignore = "(^|/).+(\.asc)$"
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..6a4439c
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=4
+opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE@-$1.tar.gz%" \
+ https://github.com/dracutdevs/dracut/tags \
+ (?:.*?/)?([\d]{3})\.tar\.gz debian