%define dracutlibdir %{_prefix}/lib/dracut %bcond_without doc # We ship a .pc file but don't want to have a dep on pkg-config. We # strip the automatically generated dep here and instead co-own the # directory. %global __requires_exclude pkg-config %define dist_free_release xxx Name: dracut Version: 055 Release: xxx.20241127201547385452.pr99.318.gd784d26b%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} Group: System Environment/Base %endif %if 0%{?suse_version} Group: System/Base %endif # The entire source code is GPLv2+ # except install/* which is LGPLv2+ # except util/* which is GPLv2 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: dracut-055.tar.gz Source1: https://www.gnu.org/licenses/lgpl-2.1.txt BuildRequires: bash BuildRequires: git-core BuildRequires: pkgconfig(libkmod) >= 23 BuildRequires: gcc %if 0%{?fedora} || 0%{?rhel} BuildRequires: pkgconfig BuildRequires: systemd %endif %if 0%{?fedora} BuildRequires: bash-completion %endif %if %{with doc} %if 0%{?fedora} || 0%{?rhel} BuildRequires: docbook-style-xsl docbook-dtds libxslt %endif %if 0%{?suse_version} BuildRequires: docbook-xsl-stylesheets libxslt %endif BuildRequires: asciidoc %endif Obsoletes: dracut-fips <= 047 Provides: dracut-fips = %{version}-%{release} Obsoletes: dracut-fips-aesni <= 047 Provides: dracut-fips-aesni = %{version}-%{release} Requires: bash >= 4 Requires: coreutils Requires: cpio Requires: filesystem >= 2.1.0 Requires: findutils Requires: grep Requires: kmod Requires: sed Requires: xz Requires: gzip Requires: hardlink Requires: pigz Requires: kpartx %if 0%{?fedora} || 0%{?rhel} Suggests: memstrack Requires: util-linux >= 2.21 Requires: systemd >= 219 Requires: systemd-udev >= 219 Requires: procps-ng %else Requires: udev > 166 Requires: util-linux-ng >= 2.21 %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} Requires: libkcapi-hmaccalc %endif %description dracut contains tools to create bootable initramfses for the Linux kernel. Unlike other implementations, dracut hard-codes as little as possible into the initramfs. dracut contains various modules which are driven by the event-based udev. Having root on MD, DM, LVM2, LUKS is supported as well as NFS, iSCSI, NBD, FCoE with the dracut-network package. %package network Summary: dracut modules to build a dracut initramfs with network support %if 0%{?_module_build} # In the module-build-service, we have pieces of dracut provided by different # modules ("base-runtime" provides most functionality, but we need # dracut-network in "installer". Since these two modules build with separate # dist-tags, we need to reduce this strict requirement to ignore the dist-tag. Requires: %{name} >= %{version}-%{dist_free_release} %else Requires: %{name} = %{version}-%{release} %endif Requires: iputils Requires: iproute Requires: jq Requires: (NetworkManager >= 1.20 or dhclient) Suggests: NetworkManager Obsoletes: dracut-generic < 008 Provides: dracut-generic = %{version}-%{release} %description network This package requires everything which is needed to build a generic all purpose initramfs with network support with dracut. %package caps Summary: dracut modules to build a dracut initramfs which drops capabilities Requires: %{name} = %{version}-%{release} Requires: libcap %description caps This package requires everything which is needed to build an initramfs with dracut, which drops capabilities. %package live Summary: dracut modules to build a dracut initramfs with live image capabilities %if 0%{?_module_build} # See the network subpackage comment. Requires: %{name} >= %{version}-%{dist_free_release} %else Requires: %{name} = %{version}-%{release} %endif Requires: %{name}-network = %{version}-%{release} Requires: tar gzip coreutils bash device-mapper curl parted %if 0%{?fedora} Requires: fuse ntfs-3g %endif %description live This package requires everything which is needed to build an initramfs with dracut, with live image capabilities, like Live CDs. %package config-generic Summary: dracut configuration to turn off hostonly image generation Requires: %{name} = %{version}-%{release} Obsoletes: dracut-nohostonly < 030 Provides: dracut-nohostonly = %{version}-%{release} %description config-generic This package provides the configuration to turn off the host specific initramfs generation with dracut and generates a generic image by default. %package config-rescue Summary: dracut configuration to turn on rescue image generation Requires: %{name} = %{version}-%{release} Obsoletes: dracut < 030 %description config-rescue This package provides the configuration to turn on the rescue initramfs generation with dracut. %package tools Summary: dracut tools to build the local initramfs Requires: %{name} = %{version}-%{release} %description tools This package contains tools to assemble the local initrd and host configuration. %package squash Summary: dracut module to build an initramfs with most files in a squashfs image Requires: %{name} = %{version}-%{release} Requires: squashfs-tools %description squash 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. %prep %autosetup -n dracut-055 -S git_am cp %{SOURCE1} . %build %configure --systemdsystemunitdir=%{_unitdir} \ --bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) \ --libdir=%{_prefix}/lib \ %if %{without doc} --disable-documentation \ %endif ${NULL} %make_build %install %make_install %{?_smp_mflags} \ libdir=%{_prefix}/lib echo "DRACUT_VERSION=%{version}-%{release}" > $RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh %if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} == 0 rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips %endif # we do not support dash in the initramfs rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00dash # we do not support mksh in the initramfs rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00mksh %ifnarch s390 s390x # remove architecture specific modules rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_mod rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_rules rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dcssblk rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95qeth_rules rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet %else rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock %endif mkdir -p $RPM_BUILD_ROOT/boot/dracut mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs %if 0%{?fedora} || 0%{?rhel} install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/01-dist.conf %endif %if 0%{?suse_version} install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/01-dist.conf %else rm -f $RPM_BUILD_ROOT%{_mandir}/man?/*suse* %endif %if 0%{?fedora} == 0 && 0%{?rhel} == 0 && 0%{?suse_version} <= 9999 rm -f -- $RPM_BUILD_ROOT%{_bindir}/lsinitrd rm -f -- $RPM_BUILD_ROOT%{_mandir}/man1/lsinitrd.1* %endif echo 'hostonly="no"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-generic-image.conf echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-rescue.conf %files %if %{with doc} %doc README.md docs/HACKING.md AUTHORS NEWS.md dracut.html docs/dracut.png docs/dracut.svg %endif %{!?_licensedir:%global license %%doc} %license COPYING lgpl-2.1.txt %{_bindir}/dracut %{_datadir}/bash-completion/completions/dracut %{_datadir}/bash-completion/completions/lsinitrd %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} > 9999 %{_bindir}/lsinitrd %endif %dir %{dracutlibdir} %dir %{dracutlibdir}/modules.d %{dracutlibdir}/dracut-functions.sh %{dracutlibdir}/dracut-init.sh %{dracutlibdir}/dracut-functions %{dracutlibdir}/dracut-version.sh %{dracutlibdir}/dracut-logger.sh %{dracutlibdir}/dracut-initramfs-restore %{dracutlibdir}/dracut-install %{dracutlibdir}/dracut-util %{dracutlibdir}/skipcpio %config(noreplace) %{_sysconfdir}/dracut.conf %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} %{dracutlibdir}/dracut.conf.d/01-dist.conf %endif %dir %{_sysconfdir}/dracut.conf.d %dir %{dracutlibdir}/dracut.conf.d %dir %{_datadir}/pkgconfig %{_datadir}/pkgconfig/dracut.pc %if %{with doc} %{_mandir}/man8/dracut.8* %{_mandir}/man8/*service.8* %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} > 9999 %{_mandir}/man1/lsinitrd.1* %endif %{_mandir}/man7/dracut.kernel.7* %{_mandir}/man7/dracut.cmdline.7* %{_mandir}/man7/dracut.modules.7* %{_mandir}/man7/dracut.bootup.7* %{_mandir}/man5/dracut.conf.5* %endif %if %{undefined _unitdir} %endif %{dracutlibdir}/modules.d/00bash %{dracutlibdir}/modules.d/00systemd %{dracutlibdir}/modules.d/00systemd-network-management %ifnarch s390 s390x %{dracutlibdir}/modules.d/00warpclock %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version} %{dracutlibdir}/modules.d/01fips %endif %{dracutlibdir}/modules.d/01systemd-ac-power %{dracutlibdir}/modules.d/01systemd-ask-password %{dracutlibdir}/modules.d/01systemd-coredump %{dracutlibdir}/modules.d/01systemd-hostnamed %{dracutlibdir}/modules.d/01systemd-initrd %{dracutlibdir}/modules.d/01systemd-integritysetup %{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-repart %{dracutlibdir}/modules.d/01systemd-resolved %{dracutlibdir}/modules.d/01systemd-rfkill %{dracutlibdir}/modules.d/01systemd-sysext %{dracutlibdir}/modules.d/01systemd-sysctl %{dracutlibdir}/modules.d/01systemd-sysusers %{dracutlibdir}/modules.d/01systemd-timedated %{dracutlibdir}/modules.d/01systemd-timesyncd %{dracutlibdir}/modules.d/01systemd-tmpfiles %{dracutlibdir}/modules.d/01systemd-udevd %{dracutlibdir}/modules.d/01systemd-veritysetup %{dracutlibdir}/modules.d/03modsign %{dracutlibdir}/modules.d/03rescue %{dracutlibdir}/modules.d/04watchdog %{dracutlibdir}/modules.d/04watchdog-modules %{dracutlibdir}/modules.d/05busybox %{dracutlibdir}/modules.d/06dbus-broker %{dracutlibdir}/modules.d/06dbus-daemon %{dracutlibdir}/modules.d/06rngd %{dracutlibdir}/modules.d/09dbus %{dracutlibdir}/modules.d/10i18n %{dracutlibdir}/modules.d/30convertfs %{dracutlibdir}/modules.d/45url-lib %{dracutlibdir}/modules.d/50drm %{dracutlibdir}/modules.d/50plymouth %{dracutlibdir}/modules.d/62bluetooth %{dracutlibdir}/modules.d/80lvmmerge %{dracutlibdir}/modules.d/80lvmthinpool-monitor %{dracutlibdir}/modules.d/90btrfs %{dracutlibdir}/modules.d/90crypt %{dracutlibdir}/modules.d/90dm %{dracutlibdir}/modules.d/90dmraid %{dracutlibdir}/modules.d/90kernel-modules %{dracutlibdir}/modules.d/90kernel-modules-extra %{dracutlibdir}/modules.d/90lvm %{dracutlibdir}/modules.d/90mdraid %{dracutlibdir}/modules.d/90multipath %{dracutlibdir}/modules.d/90nvdimm %{dracutlibdir}/modules.d/90ppcmac %{dracutlibdir}/modules.d/90qemu %{dracutlibdir}/modules.d/91crypt-gpg %{dracutlibdir}/modules.d/91crypt-loop %{dracutlibdir}/modules.d/91fido2 %{dracutlibdir}/modules.d/91pcsc %{dracutlibdir}/modules.d/91pkcs11 %{dracutlibdir}/modules.d/91tpm2-tss %{dracutlibdir}/modules.d/95debug %{dracutlibdir}/modules.d/95fstab-sys %{dracutlibdir}/modules.d/95hwdb %{dracutlibdir}/modules.d/95lunmask %{dracutlibdir}/modules.d/95resume %{dracutlibdir}/modules.d/95rootfs-block %{dracutlibdir}/modules.d/95terminfo %{dracutlibdir}/modules.d/95udev-rules %{dracutlibdir}/modules.d/95virtfs %{dracutlibdir}/modules.d/95virtiofs %ifarch s390 s390x %{dracutlibdir}/modules.d/80cms %{dracutlibdir}/modules.d/81cio_ignore %{dracutlibdir}/modules.d/91zipl %{dracutlibdir}/modules.d/95dasd %{dracutlibdir}/modules.d/95dasd_mod %{dracutlibdir}/modules.d/95dasd_rules %{dracutlibdir}/modules.d/95dcssblk %{dracutlibdir}/modules.d/95qeth_rules %{dracutlibdir}/modules.d/95zfcp %{dracutlibdir}/modules.d/95zfcp_rules %endif %{dracutlibdir}/modules.d/96securityfs %{dracutlibdir}/modules.d/97masterkey %{dracutlibdir}/modules.d/98integrity %{dracutlibdir}/modules.d/97biosdevname %{dracutlibdir}/modules.d/98dracut-systemd %{dracutlibdir}/modules.d/98ecryptfs %{dracutlibdir}/modules.d/98pollcdrom %{dracutlibdir}/modules.d/98selinux %{dracutlibdir}/modules.d/98syslog %{dracutlibdir}/modules.d/98usrmount %{dracutlibdir}/modules.d/99base %{dracutlibdir}/modules.d/99memstrack %{dracutlibdir}/modules.d/99fs-lib %{dracutlibdir}/modules.d/99shutdown %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log %dir %{_sharedstatedir}/initramfs %if %{defined _unitdir} %{_unitdir}/dracut-shutdown.service %{_unitdir}/dracut-shutdown-onfailure.service %{_unitdir}/sysinit.target.wants/dracut-shutdown.service %{_unitdir}/dracut-cmdline.service %{_unitdir}/dracut-initqueue.service %{_unitdir}/dracut-mount.service %{_unitdir}/dracut-pre-mount.service %{_unitdir}/dracut-pre-pivot.service %{_unitdir}/dracut-pre-trigger.service %{_unitdir}/dracut-pre-udev.service %{_unitdir}/initrd.target.wants/dracut-cmdline.service %{_unitdir}/initrd.target.wants/dracut-initqueue.service %{_unitdir}/initrd.target.wants/dracut-mount.service %{_unitdir}/initrd.target.wants/dracut-pre-mount.service %{_unitdir}/initrd.target.wants/dracut-pre-pivot.service %{_unitdir}/initrd.target.wants/dracut-pre-trigger.service %{_unitdir}/initrd.target.wants/dracut-pre-udev.service %endif %{_prefix}/lib/kernel/install.d/50-dracut.install %files network %{dracutlibdir}/modules.d/01systemd-networkd %{dracutlibdir}/modules.d/35connman %{dracutlibdir}/modules.d/35network-manager %{dracutlibdir}/modules.d/35network-legacy %{dracutlibdir}/modules.d/35network-wicked %{dracutlibdir}/modules.d/40network %{dracutlibdir}/modules.d/45ifcfg %{dracutlibdir}/modules.d/90kernel-network-modules %{dracutlibdir}/modules.d/90qemu-net %{dracutlibdir}/modules.d/95cifs %{dracutlibdir}/modules.d/95fcoe %{dracutlibdir}/modules.d/95fcoe-uefi %{dracutlibdir}/modules.d/95iscsi %{dracutlibdir}/modules.d/95nbd %{dracutlibdir}/modules.d/95nfs %{dracutlibdir}/modules.d/95nvmf %{dracutlibdir}/modules.d/95ssh-client %ifarch s390 s390x %{dracutlibdir}/modules.d/95znet %endif %{dracutlibdir}/modules.d/99uefi-lib %files caps %{dracutlibdir}/modules.d/02caps %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 %files tools %if %{with doc} %doc %{_mandir}/man8/dracut-catimages.8* %endif %{_bindir}/dracut-catimages %dir /boot/dracut %dir /var/lib/dracut %dir /var/lib/dracut/overlay %files squash %{dracutlibdir}/modules.d/99squash %files config-generic %{dracutlibdir}/dracut.conf.d/02-generic-image.conf %files config-rescue %{dracutlibdir}/dracut.conf.d/02-rescue.conf %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog * Wed Nov 27 2024 Packit - 055-xxx.20241127201547385452.pr99.318.gd784d26b - fix(dracut-functions.sh): convert mmcblk to the real kernel module name (Tao Liu) - fix(kernel-modules): use modalias info in get_dev_module() (Adrien Thierry) - fix(dracut-install): copy xattr when use clone ioctl (Huaxin Lu) - fix(35network-manager): install nft binary during module installation (Fernando Fernandez Mancera) - fix(35network-manager): install nftables kernel modules needed (Fernando Fernandez Mancera) - ci: fix CentOS-9-Stream container and ci config (Pavel Valena) - feat(dracut-init.sh): give --force-add precedence over --omit (Pavel Valena) - feat(lsinitrd.sh): look for initrd in /usr/lib/modules/ (Pavel Valena) - fix(systemd): set right permissions for the machine-id file (Antonio Alvarez Feijoo) - fix(nfs): include also entries from /usr/lib/{passwd,group} (Pavel Valena) - fix(systemd-pcrphase): only include systemd-pcrphase-initrd.service (Antonio Alvarez Feijoo) - feat(systemd-pcrphase): introducing the systemd-pcrphase module (Jóhann B. Guðmundsson) - fix(url-lib.sh): nfs_already_mounted() with trailing slash in nfs path (“Masahiro) - fix(network-manager): add "After" dependency on dbus.service (Beniamino Galvani) - ci: remove non-existing modules from labeler (Laszlo Gombos) - ci: fix source-git automation (Jan Macku) - fix(github): update format of labeler (Antonio Alvarez Feijoo) - ci: enable source-git automation (Jan Macku) - fix(fips): do not blindly remove /boot (Antonio Alvarez Feijoo) - fix(systemd): always include sg module (Lukas Nykryn) - fix(fips): remove /dev/{random,urandom} pre-creation (Vitaly Kuznetsov) - test: use -device instead of -watchdog to remove qemu warnings (Laszlo Gombos) - feat(systemd): install systemd-executor (Frantisek Sumsal) - fix(dracut-install): use stripped kernel module path as hash key (runsisi) - fix(dracut.sh): remove microcode check based on CONFIG_MICROCODE_[AMD|INTEL] (Antonio Alvarez Feijoo) - fix(fcoe-uefi): exit early on empty vlan (Pavel Valena) - fix(dracut.spec): add jq dependency to network subpackage (Pavel Valena) - feat(systemd): install systemd-sysroot-fstab-check (Antonio Alvarez Feijoo) - feat(dracut): add --sbat option to add sbat policy to UKI (Emanuele Giuseppe Esposito) - fix(nvmf): move /etc/nvme/host{nqn,id} requirement to hostonly (Tomas Bzatek) - fix(hwdb): follow shfmt-recommended format (Pavel Valena) - fix(dracut.sh): correct wrong systemd variable paths (Antonio Alvarez Feijoo) - feat(hwdb): install hwdb on demand when module is needed (Pavel Valena) - fix(fips): include openssl's fips.so and openssl.cnf (Pavel Valena) - fix(integrity): do not enable EVM if there is no key (Alberto Planas) - fix(rngd): spacing (Lukas Nykryn) - fix(dracut): there can be \ at the end on line in awk script (Lukas Nykryn) - feat(spec): include modules for IMA (Lukas Nykryn) - feat(nvmf): add code for parsing the NBFT (Martin Wilck) - fix(nvmf): support /etc/nvme/config.json (Martin Wilck) - fix(nvmf): install 8021q module unconditionally (Martin Wilck) - feat(nvmf): set rd.neednet=1 if tcp records encountered (Martin Wilck) - fix(nvmf): run cmdline hook before parse-ip-opts.sh (Martin Wilck) - fix(nvmf): avoid calling "exit" in a cmdline hook (Martin Wilck) - fix(nvmf): make sure "rd.nvmf.discover=fc,auto" takes precedence (Martin Wilck) - fix(nvmf): don't use "finished" queue for autoconnect (Martin Wilck) - fix(nvmf): don't create did-setup file (Martin Wilck) - fix(nvmf): no need to load the nvme module (Martin Wilck) - fix(nvmf): don't try to validate network connections in cmdline hook (Martin Wilck) - fix(nvmf): nvme list-subsys prints the address using commas as separator (Antonio Alvarez Feijoo) - fix(rngd): install system service file (Pavel Valena) - fix(dracut.sh): use gawk for strtonum (Sam James) - fix(dracut.sh): handle imagebase for uefi (keentux) - fix(dracut.sh): use dynamically uefi's sections offset (Valentin Lefebvre) - fix(lvmthinpool-monitor): activate lvm thin pool before extend its size (Tao Liu) - fix(network-manager): allow running nm-run.sh multiple times (Radek Vykydal) - feat(dmsquash-live): add new dmsquash-live-autooverlay module (Matt Coleman) - test(16-DMSQUASH): make it pass on arch (Laszlo Gombos) - fix(squash): build ld cache for squash loader (Hari Bathini) - fix(90kernel-modules): install blk modules using symbol blk_alloc_disk (Pavel Valena) - fix(dracut-initramfs-restore.sh): initramfs detection not working (Kairui Song) - refactor(url-lib): write curl output directly to file (David Tardon) - ci: pull request template (Pavel Valena) - fix(skipcpio): ignore broken pipe (David Tardon) - fix(drm): add video drivers needed on hyper-v and similar (Lukas Nykryn) - fix(kernel-modules): always include nvmem driver on nvmem_on_arm (Lukas Nykryn) - fix(98dracut-systemd): partly revert "emergency mode: use sulogin" (Lukas Nykryn) - fix(dracut.sh): do not fail on irregular files (Pavel Valena) - ci: run integration tests only on C9s (Pavel Valena) - ci: fix branch to run integration tests in (Pavel Valena) - fix(95resume): only exclude this module, when swap is netdev (Lukas Nykryn) - fix(95nfs): set correct ownership and permissions for statd directory (Lukas Nykryn) - build(spec): do not use recommends for base packages (Pavel Valena) - fix(fips): enhance commit 'handle s390x OSTree systems' (Pavel Valena) - ci: all layered RHEL-9 changes (Pavel Valena) - docs: update NEWS.md and AUTHORS (Jóhann B. Guðmundsson) - feat(dracut): support parallel execution with --parallel (Martin Wilck) - feat(lvm): add new module lvmthinpool-monitor (Tao Liu) - fix(bluetooth): accept compressed firmwares in inst_multiple (наб) - feat(dracut-install): support ZSTD-compressed firmware with .zst suffix (наб) - fix(dracut): default to correct firmware search paths (наб) - test: list only the required modules explicitly (Laszlo Gombos) - fix(test): dmsquash-live test without an iso (Laszlo Gombos) - fix(Makefile): use of potentially unset variable (Conrad Hoffmann) - docs(dracut.cmdline): add missing rd.nonvmf option (Antonio Alvarez Feijoo) - fix(nvmf): deprecate old nvmf cmdline options (Antonio Alvarez Feijoo) - fix(integrity): do not display any error if there is no IMA certificate (Antonio Alvarez Feijoo) - docs(dracut.cmdline): add missing evmx509 option (Antonio Alvarez Feijoo) - feat(gensplash): remove module (Laszlo Gombos) - docs(dracut.conf): regenerate_all not supported (Antonio Alvarez Feijoo) - fix(dracut.sh): format usage and add missing options (Antonio Alvarez Feijoo) - docs(dracut): format and add missing options (Antonio Alvarez Feijoo) - docs(dracut.conf): format and add missing options (Antonio Alvarez Feijoo) - fix(shell-completion): add missing options (Antonio Alvarez Feijoo) - ci(integration): maintain only Fedora latest (Laszlo Gombos) - ci(virtiofs): add virtiofs label (German Maglione) - feat(virtiofs): virtiofs root filesystem support (German Maglione) - fix(iscsi): do not exit in handle_netroot() if discovery failed (Wenchao Hao) - fix(test): remove stale comments (Laszlo Gombos) - fix(test): add support for dpkg to pass the test on debian (Laszlo Gombos) - fix(lsinitrd.sh): always check that MACHINE_ID is not empty (Antonio Alvarez Feijoo) - fix(dracut.sh): always check that MACHINE_ID is not empty (Antonio Alvarez Feijoo) - ci: on debian, default shell is not bash (Laszlo Gombos) - ci: install sudo for the debian container (Laszlo Gombos) - docs(dracut.usage): fix dracut.cmdline reference from section 5 to 7 (Morten Linderud) - fix(dmsquash-live): mount live device with the correct type (Laszlo Gombos) - ci: add Debian Linux to limited tests (Laszlo Gombos) - fix(dracut.sh): avoid calling dfatal before dracut-logger is sourced (Antonio Alvarez Feijoo) - fix(dracut.spec): add connman module (Jóhann B. Guðmundsson) - feat(dracut-systemd): use Documentation= to point to man page (David Tardon) - fix(dracut-systemd): drop misleading man page reference (David Tardon) - fix(fedora.conf): vi binary is missing (Masahiro Matsuya) - fix(man): add missing default paths (Antonio Alvarez Feijoo) - fix(lsinitrd.sh): add missing default paths (Antonio Alvarez Feijoo) - fix(dracut.sh): add missing default output file paths (Antonio Alvarez Feijoo) - fix(kernel-network-modules): allow specifying empty --hostonly-nics (Coiby Xu) - fix(nfs): give /run/rpcbind ownership to rpc user (Antonio Alvarez Feijoo) - fix(nfs): require and install needed binaries (Antonio Alvarez Feijoo) - fix(lvm): add missing grep requirement (Antonio Alvarez Feijoo) - fix(resume): correct call to block_is_netdevice function (Antonio Alvarez Feijoo) - fix(dracut-functions.sh): correct wrong comment (Antonio Alvarez Feijoo) - fix(dracut.cmdline.7): {=> must} also be specified (наб) - fix(ifcfg): avoid calling unavailable dracut-logger functions (Antonio Alvarez Feijoo) - fix(network-manager): avoid calling unavailable dracut-logger functions (Antonio Alvarez Feijoo) - feat(man): add documentation for rd.luks.key.tout (Nicolas Porcel) - fix(crypt): add missing is_keysource parameter to cryptroot-ask (Nicolas Porcel) - fix(man): add missing --libdirs section (Antonio Alvarez Feijoo) - fix(dracut.sh): add missing --libdirs usage (Antonio Alvarez Feijoo) - fix(nvmf): set executable bit on nvmf-autoconnect.sh (Benjamin Gilbert) - feat(url-lib.sh): add --retry-connrefused to default curl arguments (James Morris) - fix(dracut-install): copy files preserving ownership attributes (Antonio Alvarez Feijoo) - docs: do not mention nullglob in cases where it's not needed (Pavel Valena) - fix(10i18n): stop leaking shell options (Pavel Valena) - revert(10i18n): stop leaking shell options (Pavel Valena) - fix(test): nullglob should not be needed (Pavel Valena) - fix(dracut-install): do not fail when SOURCE is optional and missing (Pavel Valena) - fix(bluetooth): nullglob should not be needed (Pavel Valena) - ci: obsolete Dockerfile with Fedora 33 (Pavel Valena) - ci: add Dockerfile for Fedora 35 (Pavel Valena) - fix(dracut-initramfs-restore.sh): unpack uncompressed initrd as last option (Antonio Alvarez Feijoo) - fix(configure): check for SYS-gettid during configure (Shreenidhi Shedi) - fix(lvm): ignore expected error message from lvm config (David Teigland) - fix(connman): copy netroot.sh from the network module and install it (Zoltán Böszörményi) - feat(connman): introduce connman support module (Zoltán Böszörményi) - fix(plymouth): hide dpkg-architecture stderr messages (Antonio Alvarez Feijoo) - style: remove accidental whitespace in front of comment line (nkraetzschmar) - feat: add aarch64 uefi support (nkraetzschmar) - fix(udev-rules): add cdrom udev rules by default (Laszlo Gombos) - fix(dracut-initramfs-restore.sh): check if SELINUXTYPE is set (David Tardon) - fix(bluetooth): make $dbussystem/bluetooth.conf optional (Antonio Alvarez Feijoo) - fix(dracut-systemd): correct service dependencies (David Tardon) - fix(10i18n): stop leaking shell options (Michal Hecko) - fix(dracut.sh): drop restorecon call (David Tardon) - fix(dmsquash-live): permanent overlay on the same drive as LiveCD .iso (Laszlo Gombos) - fix(install): restore musl support (Laszlo Gombos) - fix(github): remove packit (Jóhann B. Guðmundsson) - feat(dracut): add zfs detection (Savyasachee Jha) - fix(dracut.sh): error exporting sysctl variables (Antonio Alvarez Feijoo) - fix(iscsi): remove unneeded iscsi NOP-disable code (Lee Duncan) - fix(systemd-journald): remove duplicate entry in inst_multiple (Antonio Alvarez Feijoo) - fix(systemd-timesyncd): add systemd-sysusers dependency (Antonio Alvarez Feijoo) - fix(systemd-coredump): add systemd-sysusers dependency (Antonio Alvarez Feijoo) - feat(squash): add shell completion for --squash-compressor option (Tao Liu) - feat(squash): update the manual page for --squash-compressor (Tao Liu) - feat(squash): decouple the compressor for dracut and dracut-squash (Tao Liu) - docs: update NEWS.md and AUTHORS (Harald Hoyer) - fix(cpio): correct dev_t -> rmajor/rminor mapping (David Disseldorp) - ci(cpio): add test_archive_dev_maj_min (David Disseldorp) - ci(cpio): add TempWorkDir.create_tmp_mknod helper (David Disseldorp) - fix(dasd_rules): correct udev dasd rules parsing (Thomas Blume) - fix(zfcp_rules): correct udev zfcp rules parsing (Thomas Blume) - feat(pcsc): introducing the pcsc module (Jóhann B. Guðmundsson) - fix(bluetooth): make hostonly configuration files optional (Antonio Alvarez Feijoo) - fix(bluetooth): dbus configuration path fixes (Jóhann B. Guðmundsson) - fix(img-lib): install rmdir (Henrik Gombos) - fix(fido2): add a missing library (Jóhann B. Guðmundsson) - fix(tpm2-tss): add a missing library (Jóhann B. Guðmundsson) - fix(dracut-functions.sh): ip route parsing (Martin Wilck) - fix(fedora.conf.example): rename misspelled variable (Antonio Alvarez Feijoo) - fix(dracut): be more robust when using 'set -u' (Renaud Métrich) - feat(pkcs11): include the module in the spec file (Jóhann B. Guðmundsson) - feat(pkcs11): introducing the pkcs11 module (Jóhann B. Guðmundsson) - feat(crypt): check if pkcs11 module is needed in hostonly mode (Jóhann B. Guðmundsson) - fix(fips): missing sourcing of dracut-lib (Antonio Alvarez Feijoo) - fix(fips): add and remove local variables (Antonio Alvarez Feijoo) - fix(fips): wrong error message (Antonio Alvarez Feijoo) - fix(dracut-init): unbreak a comment (Lubomir Rintel) - feat(dracut.sh): add --aggresive-strip option (Kairui Song) - fix(network): wrong test of wicked unit (Antonio Alvarez Feijoo) - fix(dracut-initramfs-restore.sh): add missing compression options (Antonio Alvarez Feijoo) - fix(dracut-shutdown): add cleanup handler on failure (Renaud Métrich) - fix(zfcp_rules): remove collect based udev rule creators (Thomas Blume) - fix(dasd_rules): remove collect based udev rule creators (Thomas Blume) - fix(memstrack): drop bash runtime requirement (Kairui Song) - fix(kernel-modules-extra): handle zstd module extension (Dirk Müller) - fix(kernel-modules): add mailbox drivers for arm (Adrien Thierry) - fix(lvm): restore setting LVM_MD_PV_ACTIVATED (David Teigland) - feat(lvm): only run lvchange for LV that is seen on devices (David Teigland) - feat(lvm): use generated filter when none is set (David Teigland) - feat(lvm): update lvm command options (David Teigland) - fix(lvm): replace --partial option (David Teigland) - revert(lvm): remove 69-dm-lvm-metad.rules (David Teigland) - revert(lvm): remove lvmetad config changes (David Teigland) - revert(lvm): remove snapshot feature (David Teigland) - fix(multipath): check if mpathconf is available (Martin Wilck) - fix(multipathd.service): drop dependencies on iscsi and iscsid (Martin Wilck) - fix(multipathd.service): adapt to upstream multipath-tools unit file (Martin Wilck) - fix(multipathd.service): remove dependency on systemd-udev-settle (Martin Wilck) - fix(40network): consistent use of "$gw" for gateway (Martin Wilck) - feat(spec): add systemd-integritysetup module (Tony Asleson) - feat(systemd-integritysetup): introducing the systemd-integritysetup module (Tony Asleson) - fix(base): do not change the provided UUID (joshuacov1) - fix(dmsquash-live): option to use overlayfs on a block device root (Laszlo Gombos) - fix(dracut.sh): do not ignore invalid config file or dir path (Antonio Alvarez Feijoo) - fix(dracut-initramfs-restore.sh): add missing default paths (Jóhann B. Guðmundsson) - fix(network-wicked): multiple path corrections (Antonio Alvarez Feijoo) - fix(cpio): write zeros instead of seek for padding and alignment (David Disseldorp) - fix(rootfs-block): make the base module dependency explicit (Laszlo Gombos) - fix(systemd-sysusers): use split systemd sysuser configs (Cornelius Hoffmann) - fix(systemd-sysusers): override systemd-sysusers.service (Cornelius Hoffmann) - fix(url-lib): improve ca-bundle detection (Antonio Alvarez Feijoo) - fix(network-manager): skip non-directories in /sys/class/net (Glenn Morris) - fix(drm): add privacy screen modules to the initrd (Hans de Goede) - fix(dracut.sh): check kernel zstd support early (Martin Wilck) - fix(dracut.sh): check availability of configured compression (Martin Wilck) - fix(dracut.sh): inform user about auto-selected compression method (Martin Wilck) - fix(dracut.sh): drop pointless check for module compression method (Martin Wilck) - fix(network): add errors and warnings when network interface does not exist (Pavel Valena) - ci: remove Fedora 33 container (Jóhann B. Guðmundsson) - fix(resume): resume using /usr/lib64/suspend (José María Fernández) - fix(base): add default device choice (José María Fernández) - feat(crypt): check if fido2 module is needed in hostonly mode (Antonio Alvarez Feijoo) - fix(dracut-functions.sh): get block device driver if in a virtual subsystem (Antonio Alvarez Feijoo) - fix(mdraid): allow UUID comparison for more than one UUID (Alexander Wenzel) - ci(TEST-63-DRACUT-CPIO): kernel extraction tests for dracut-cpio (David Disseldorp) - feat(dracut.sh): add "--enhanced-cpio" option for calling dracut-cpio (David Disseldorp) - feat(Makefile): cargo wrapper for dracut-cpio build (David Disseldorp) - feat(cpio): add newc archive creation utility (David Disseldorp) - feat(cpio): add rust argument parsing library from crosvm (David Disseldorp) - ci(TEST-62-SKIPCPIO): add simple skipcpio test (David Disseldorp) - ci(test): export basedir and testdir as absolute paths (David Disseldorp) - ci(TEST-60-BONDBRIDGEVLANIFCFG): use toplevel Makefile (David Disseldorp) - fix(fips.sh): repsect rd.fips.skipkernel (Brandon Sloane) - fix(resume): check for presence of /sys/power/resume (Dan Horák) - fix(man): default value of rd.retry was increased to 180 seconds (Alexander Wenzel) - feat(fido2): introducing the fido2 module (Antonio Alvarez Feijoo) - feat(crypt): check if tpm2-tss module is needed in hostonly mode (Antonio Alvarez Feijoo) - fix(dmsquash-live): do not install systemd files when systemd is not enabled (Laszlo Gombos) - fix(s390_rules): drop collect installation (Thomas Blume) - fix(dmsquash-live-ntfs): fuse3 no longer requires ulockmgr_server (Laszlo Gombos) - fix(shutdown): be robust against forced shutdown (Renaud Métrich) - test: don't use `-cpu max` in GH Actions (Frantisek Sumsal) - fix(install): segfault on popen error (Andrey Sokolov) - fix(90kernel-modules): add isp1760 USB controller (Peter Robinson) - fix(network-manager): disable tty output if the console is not usable (Beniamino Galvani) - fix(network-manager): show output on console only with rd.debug enabled (Beniamino Galvani) - chore: change my email address (Harald Hoyer) - feat(systemd): enable support for systemd compiled with ASAN (Renaud Métrich) - refactor(install): use check_hashmap helper consistently (David Disseldorp) - fix(90kernel-modules): add Type-C USB drivers for generic initrd (Peter Robinson) - fix(dmsquash-live): iso-scan requires rmdir (Laszlo Gombos) - fix(dmsquash-live): correct regression introduced with shellcheck changes (Harald Hoyer) - chore(.gitignore): update src and man paths (David Disseldorp) - fix(multipath): drop ExecStop= setting from service unit (Luca BRUNO) - fix(install): extend hwcaps library handling to libraries under glibc-hwcaps/ (David Tardon) - feat(dracut.sh): check if target kernel has zstd support compiled in (Antonio Alvarez Feijoo) - ci(suse.conf.example): change default compression option for SUSE (Antonio Alvarez Feijoo) - fix(dracut.sh): change misspelled variable name (Antonio Alvarez Feijoo) - fix(dracut.sh): remove wrong $ in loop sequence (Antonio Alvarez Feijoo) - fix(skipcpio): calculate and use CPIO_MAGIC_LEN (Shreenidhi Shedi) - fix(skipcpio): improve error checking (Shreenidhi Shedi) - fix(base): tr needs to be installed (Andre Russ) - fix(crypt-gpg): tr needs to be installed (Andre Russ) - fix(nvmf): validate_ip_conn (Charles Rose) - fix(usrmount): do not empty _dev variable (Alexander Tsoy) - fix(iscsi): add support for the new iscsiadm "no-wait" (-W) command (Thomas Blume) - fix(kernel-modules): detect block device's hardware driver (Pingfan Liu) - fix(kernel-modules): add blk_mq_alloc_disk and blk_cleanup_disk to blockfuncs (Lukas Nykryn) - fix(network-manager): write DHCP filename option to dhcpopts file (Beniamino Galvani) - fix(install): use size_t to avoid -Wsign-compare warning (Shreenidhi Shedi) - fix(install): improve gettid definition (Shreenidhi Shedi) - fix(install): validate return values log.c (Shreenidhi Shedi) - fix(install): rectify unused function args in log.c (Shreenidhi Shedi) - fix(install): use wrapper for asprintf (Shreenidhi Shedi) - fix(squash): apply FIPS and libpthread workaround (Kairui Song) - fix(cms): reload NetworkManager connections (Beniamino Galvani) - fix(network-manager): check for nm-initrd-generator in both /usr/{libexec,lib} (Beniamino Galvani) - fix(install): use unsigned int instead of unsigned (Shreenidhi Shedi) - fix(install): reduce cppcheck warnings (Shreenidhi Shedi) - fix(network-manager): ensure safe content of /tmp/dhclient."$ifname".dhcpopts (Thomas Haller) - docs: add a note about other network modules in 'man dracut.cmdline' (Beniamino Galvani) - fix(integrity): add support for loading multiple EVM x509 certs (Stefan Berger) - fix(base): do not quote $initargs for switch_root (Mike Gilbert) - fix(squash): remove tailing '/' when installing ld.so.conf.d (Kairui Song) - fix(network-manager): include nm-daemon-helper binary (Beniamino Galvani) - fix(base): repair installing dracut-util (Zoltán Böszörményi) - fix(kernel-modules): add more modules on RISC-V (Andreas Schwab) - fix(dracut-systemd): do not use Requires for vconsole-setup.service (Zbigniew Jędrzejewski-Szmek) - fix(squash): keep ld cache under initdir (Pingfan Liu) - fix(dracut-install): tweaks to get_real_file() (Zoltán Böszörményi) - fix(qeth_rules): check the existence of /sys/devices/qeth/*/online beforehand (Coiby Xu) - fix(network-manager): don't pull in systemd-udev-settle (Dusty Mabe) - fix: SC2046: Quote this to prevent word splitting (Masahiro Matsuya) - fix: SC2086: Double quote to prevent globbing and word splitting (Masahiro Matsuya) - fix(url-lib): make pre-pivot hook separetely per nfs mount (Masahiro Matsuya) - fix(mksh): requires printf (Tomasz Paweł Gajc) - fix(crypt-gpg): execute --card-status on each try (LinkTed) - fix(dracut.sh): handle symlinks appropriately while using '-i' option (Kairui Song) - fix(dracut.sh): handle '-i' option to include files beginning with '.' (Hari Bathini) - fix(network-manager): support teaming under NM+systemd (Dusty Mabe) - fix(squash): create relative symlinks (Kairui Song) - fix(fips): handle s390x OSTree systems (Jonathan Lebon) - fix(multipath): get config. dir from configuration (David Tardon) - fix(install): add a missing ret value assignment (Frantisek Sumsal) - fix(network-manager): pull in network.target in nm-initrd.service (Dusty Mabe) - feat(squash): install umount util (Kairui Song) - fix(tpm2-tss): typo in depends() (Matthias Berndt) - fix(crypt): remove quotes from cryptsetupopts (lapseofreason)