Releases: dracutdevs/dracut
dracut-059
Bug Fixes
- NEWS.md: add missing entries (794ce5e3)
Contributors
- Jóhann B. Guðmundsson [email protected]
dracut-058
Bug Fixes
- 90kernel-modules:
- 90multipath:
- Makefile: reduce the number of shell invocations (ad7d5bc8)
- base:
- dbus-broker: add missing sockets.target.wants/dbus.socket (7ed04618)
- dmsquash-live:
- dmsquash-live-ntfs: remove unnecessary command (e78f71b9)
- dmsquash-live-root: check kernel for built-in
overlay
drivers (d0cd7cd3) - dracut:
- dracut-functions.sh:
- dracut-init: make require_kernel_modules ignore no kernel build (d460941b)
- dracut-init.sh:
- dracut-initramfs-restore.sh:
- dracut-install:
- dracut-logger.sh: this fixes the dlog_init check for /dev/log (6b592f58)
- dracut-systemd: run systemctl daemon-reload after remove_hostonly_files (e1058b07)
- dracut.sh:
- dracut.spec: tpm2-tools is required for crypt module to work (8abffe7c)
- drm: add video drivers needed on hyper-v and similar (85149b85)
- github: yml syntax and commit message for dependabot (32f6dd1d)
- i18n:
- install.d: add --verbose if KERNEL_INSTALL_VERBOSE=1 (846a8453)
- integrity:
- iscsi: don't install the module if kernel doesn't support iscsi (7917d797)
- kernel-modules:
- load_fstype: use $1 if $2 is missing (401158e5)
- lsinitrd.sh:
- lvm: drop dm-eventd binary and libs from initramfs (7d3184e4)
- man:
- multipath: install multipathd.socket (02e646fc)
- network:
- network-legacy:
dracut-057
Bug Fixes
- 10i18n:
- Makefile: use of potentially unset variable (1354d633)
- bluetooth:
- configure: check for SYS-gettid during configure (0ef40d88)
- connman: copy netroot.sh from the network module and install it (f6d83f9f)
- crypt: add missing is_keysource parameter to cryptroot-ask (6c11a8fc)
- dmsquash-live:
- dracut: default to correct firmware search paths (95aeed89)
- dracut-functions.sh: correct wrong comment (0afa840e)
- dracut-initramfs-restore.sh:
- dracut-install:
- dracut-systemd:
- dracut.cmdline.7: {=> must} also be specified (27071e9a)
- dracut.sh:
- format usage and add missing options (9bef7109)
- always check that MACHINE_ID is not empty (527fdfa1)
- avoid calling dfatal before dracut-logger is sourced (012d7db2)
- add missing default output file paths (28ef3bc6)
- add missing --libdirs usage (352e5917)
- drop restorecon call (33859892)
- error exporting sysctl variables (4c355d05)
- dracut.spec: add connman module (d0c6ab21)
- fedora.conf: vi binary is missing (48541362)
- github: remove packit (8fd37d20)
- ifcfg: avoid calling unavailable dracut-logger functions (7103c4bc)
- install: restore musl support (ce55a85e)
- integrity: do not display any error if there is no IMA certificate (f63f411d)
- iscsi:
- kernel-network-modules: allow specifying empty --hostonly-nics (ab6f5733)
- lsinitrd.sh:
- lvm:
- man:
- network-manager: avoid calling unavailable dracut-logger functions (b7059aef)
- nfs:
- nvmf:
- plymouth: hide dpkg-architecture stderr messages (42e9d188)
- resume: correct call to block_is_netdevice function (a7a4b76c)
- shell-completion: add missing options (1199f990)
- systemd-coredump: add systemd-sysusers dependency (ce82e969)
- systemd-journald: remove duplicate entry in inst_multiple (d3ab2061)
- systemd-timesyncd: add systemd-sysusers dependency (28b6adcb)
- test:
- udev-rules: add cdrom udev rules by default (aebeb2ec)
Features
- add aarch64 uefi support (8391a993)
- connman: introduce connman support module (f30d0351)
- dracut:
- dracut-install: support ZSTD-compressed firmware with .zst suffix ([9d8387e](https://github.com/dracutdevs/dracut/commit/ 9d8387e))
- dracut-systemd: use Documentation= to point to man page ([42e8f17](https://github.com/dracutdevs/dracut/commit/ 42e8f17))
- gensplash: remove module (1befc641)
- lvm: add new module lvmthinpool-monitor ([d9812fc](https://github.com/dracu...
dracut-056
Bug Fixes
- base:
- bluetooth:
- cms: reload NetworkManager connections (07977ee5)
- cpio:
- crypt: remove quotes from cryptsetupopts (e0abf88a, closes #1528)
- crypt-gpg:
- dasd_rules:
- dmsquash-live:
- dmsquash-live-ntfs: fuse3 no longer requires ulockmgr_server (75ad2699)
- dracut: be more robust when using 'set -u' (22a80629)
- dracut-functions.sh:
- dracut-init: unbreak a comment (bc4f196f)
- dracut-initramfs-restore.sh:
- dracut-install: tweaks to get_real_file() (1beeaf3b)
- dracut-shutdown: add cleanup handler on failure (7ab1d002)
- dracut-systemd: do not use Requires for vconsole-setup.service (a7f5429c)
- dracut.sh:
- do not ignore invalid config file or dir path (7de9ffc0)
- check kernel zstd support early (475497b1)
- check availability of configured compression (bdac657b)
- inform user about auto-selected compression method (06d47ded)
- drop pointless check for module compression method (586d3e76)
- change misspelled variable name (acfd97a9)
- remove wrong $ in loop sequence (f1245b5b)
- handle symlinks appropriately while using '-i' option (c7fbc0c8)
- handle '-i' option to include files beginning with '.' (f1138012)
- drm: add privacy screen modules to the initrd (14d97a6a)
- fedora.conf.example: rename misspelled variable (9371dcab)
- fido2: add a missing library (4753738b)
- fips:
- fips.sh: repsect rd.fips.skipkernel (5789abcb)
- img-lib: install rmdir (51ce8893)
- install:
- segfault on popen error (5c2f72f1)
- extend hwcaps library handling to libraries under glibc-hwcaps/ (10ed204f)
- use size_t to avoid -Wsign-compare warning (55468a2d)
- improve gettid definition (ef0f848a)
- validate return values log.c (19537f89)
- rectify unused function args in log.c (b5cf7ec7)
- use wrapper for asprintf (e2a61595)
- use unsigned int instead of unsigned (74a41799)
- reduce cppcheck warnings (b0bf8187)
- add a missing ret value assignment (6a444261)
- integrity: add support for loading multiple EVM x509 certs (9da76af8)
- iscsi: add support for the new iscsiadm "no-wait" (-W) command (7374943a)
- kernel-modules:
- kernel-modules-extra: handle zstd module extension ([b3d2dcb](b3d2dcb...
dracut-055
Bug Fixes
- base:
- bash: minor cleanups (9355cb8e)
- dash: minor cleanups (f4ea5f87)
- dracut: pipe hardlink output to
dinfo
(0a6007bf) - dracut-functions: get_maj_min without get_maj_min_cache_file set (a277a5fc)
- dracut-util: print error message with trailing newline (b9b6f0ee)
- fs-lib: install fsck utilities (12beeac7)
- install:
- integrity: require ALLOW_METADATA_WRITES to come from EVM config file (b12d91c4)
- mksh: minor cleanups (6c673298)
- squash: don't mount the mount points if already mounted (636d6df3)
- warpclock: minor cleanups (7d205598)
Features
- dracut.sh: detect running in a container (7275c6f6)
- install: add default value for --firmwaredirs (4cb086fa)
Contributors
- Harald Hoyer [email protected]
- Jóhann B. Guðmundsson [email protected]
- Marcos Mello [email protected]
- Kairui Song [email protected]
- Lars Wendler [email protected]
- Stefan Berger [email protected]
- Tomasz Paweł Gajc [email protected]
dracut-054
With this release dracut has undergone a major overhaul.
A lot of systemd related modules have been added.
The integration test suite has finally ironed out the flaky behaviour due to the parallel device probing of the kernel,
which bit sometimes in the non-kvm github CI. So, if you see any /dev/sda
in a setup script with more than two hard drives,
chances are, that the script works on the wrong disk. Same goes for network interfaces.
This release is also fully shellcheck
'ed with ShellCheck-0.7.2
and indented with shfmt
and astyle
.
The dracut project builds test containers every day for:
opensuse/tumbleweed-dnf:latest
archlinux:latest
fedora:rawhide
fedora:latest
fedora:33
These containers can easily be used to run the integration tests locally without root permissions via podman
.
We hope this serves as a blueprint for your distribution's CI process.
More information can be found in docs/HACKING.md.
Bug Fixes
- make testsuite pass on OpenSuse and Arch (8b2afb08)
- cope with distributions with
/usr/etc
files (3ad3b3a4) - deprecate gummiboot (5c94cf41)
- set vimrc and emacs indention according to .editorconfig (9012f399)
- correctly handle kernel parameters (501d82f7)
- remove dracut.pc on
make clean
(d643156d) - honor KVERSION environment in the Makefile (d8a454a5)
- always use mkdir -p (9cf7b1c5)
- dracut.sh:
- prevent symbolic links containing
//
(de0c0872) - adding missing globalvars for udev (f35d479d)
- sysctl global variables (3ca9aa1d)
- add global vars for modules-load (ec4539c6)
- omission is an addition to other omissions in conf files (96c31333)
- harden dracut against GZIP environment variable (d8e47e20)
- add a missing tmpfilesconfdir global variable (8849dd8d)
- include
modules.builtin.alias
in the initramfs (7f633747) - install all depmod relevant configuration files (50a01dd4)
- add
modules.builtin.modinfo
to the initramfs (87c4c178) - search for btrfs devices from actual mount poiont (3fdc734a)
- prevent symbolic links containing
- dracut-functions.sh:
- dracut-logger.sh: double dash trigger unknown logger warnings during run (4fbccde5)
- dracut-install:
- base:
- crypt:
- crypt-gpg:
- cope with different scdaemon location (44fd1c13)
- dbus-broker:
- enable the service (df1e5f06)
- dbus-daemon:
- only error out in install() (ae4fbb3d)
- dracut-systemd:
- don't refuse root=tmpfs when systemd is used (a96900a8)
- examples: remove the examples directory and reference to it (b37c90c8)
- fips:
- i18n:
- skip if data is missing (651fe01e)
- img-lib:
- ignored null byte in input (85eb9680)
- integrity:
- properly set up EVM when using an x509 cert (4bdd7eb2)
- iscsi:
- kernel-modules:
- mdraid:
- remove dependency statements (86b75634)
- memstrack:
- correct dependencies (c2ecc4d1)
- multipath:
- nbd:
- network:
- network-legacy:
- network-manager:
- cope with distributions not using
libexec
(22d6863e) - set timeout via command line option (8a51ee1f)
- run after dracut-cmdline ([4d03404](https://github.com/drac...
- cope with distributions not using
dracut-053
Bug Fixes
- dracut.sh:
- fcoe:
- i18n:
- network-manager:
- drm: skip empty modalias files in drm module setup (c3f24184)
Contributors
- Lukas Nykryn [email protected]
- Harald Hoyer [email protected]
- Andrew J. Hesford [email protected]
- Evgeni Golov [email protected]
- Jóhann B. Guðmundsson [email protected]
- Sergei Iudin [email protected]
- Tomasz Paweł Gajc [email protected]
dracut-052
Features
-
dracut:
-
allow overriding the systemctl command for sysroot with
$SYSTEMCTL
for cross compilation -
add additional global variables
Variables like
dbusconfdir
orsystemdnetwork
are now exported
to the individual modules as global variables. If they are not set
in the distribution dracut config files, they are set viapkg-config
-
A
--no-uefi
option as been added to the CLI options to disable a defaultuefi=yes
set by a configuration file.
-
-
kernel-modules: add modules from
drivers/memory
for arm -
network-legacy: send dhcp in parallel on all devices via the
single-dhcp
option -
dbus: introduce a meta module for dbus
-
dbus-broker: introduce the dbus-broker module
-
dbus-daemon: introduce the dbus-daemon module
-
systemd-ask-password: introduce the systemd-ask-password module
-
systemd-coredump: introduce the systemd-coredump module
-
systemd-modules-load: introduce the systemd-modules-load module
-
systemd-repart: introduce the systemd-repart module
-
systemd-sysctl: introduce the systemd-sysctl module
-
systemd-sysusers: introduce the systemd-sysuser module
Bug Fixes
- first round of shellcheck for all shell scripts
- revise all module checks to not error out about missing dependencies
- use the top-level
/efi
path to address the EFI partition - correct the squash quirk
- use
find_binary
instead of other methods, becausefind_binary
honorsdracutsysrootdir
- quote globbing in module-setup.sh for
inst_multiple
- move ldconfig after library workaround
- do not set cmdline for uefi images unless asked
- dracut: don't override
PATH
, ifdracutsysrootdir
is set - dracut-functions.sh: check kernel config from
dracutsysrootdir
- dracut-init.sh: make inst_libdir_file work with
dracutsysrootdir
set - dracut-install: allow globbing for multiple sources
- 06dbus:
- do not hardcode path to dbus utils
- do not hardcode path to systemd unit
- uefi use efivars fs over the deprecated sysfs entries
- keyring adding shared keyring mode to systemd unit
dracut-pre-pivot.service
- 35network-manager: avoid restarting NetworkManager
- 90kernel-modules: install generic crypto modules with hostonly unset
- 99squash: use kernel config instead of modprobe to check modules
- dbus-daemon: use uid/gid from sysroot if
dracutsysrootdir
is set - kernel-modules: add reset controllers for arm
- kernel-network-modules: also install modules from mdio subdirectory
- mdraid:
- remove the
offroot
option (long deprecated) - add the grow continue service
mdadm-grow-continue
- remove the
- network-legacy: silent the check for dhcp leaseinfo
- network-manager: allow override network manager version
- plymouth: install binaries with dependencies
- shutdown: add timeout to umount calls
- watchdog: fix dependencies in
module-setup.sh
Contributors
- Harald Hoyer [email protected]
- Jóhann B. Guðmundsson [email protected]
- Zoltán Böszörményi [email protected]
- Alexey Shabalin [email protected]
- Daniel Molkentin [email protected]
- Luiz Angelo Daros de Luca [email protected]
- Mariusz Tkaczyk [email protected]
- Alexander Tsoy [email protected]
- Anjali Kulkarni [email protected]
- Beniamino Galvani [email protected]
- David Tardon [email protected]
- Javier Martinez Canillas [email protected]
- Kairui Song [email protected]
- Lukas Nykryn [email protected]
- Matthew Thode [email protected]
- Nicolas Chauvet [email protected]
- Nicolas Saenz Julienne [email protected]
- Ondrej Mosnacek [email protected]
- Peter Levine [email protected]
- Petr Pavlu [email protected]
- Vladius25 [email protected]
- Yang Liu [email protected]
- foopub [email protected]
- realtime-neil [email protected]
dracut-051
dracut:
-
allow running on a cross-compiled rootfs
dracutsysrootdir is the root directory, file existence checks use it.
DRACUT_LDCONFIG can override ldconfig with a different one that works
on the sysroot with foreign binaries.DRACUT_LDD can override ldd with a different one that works
with foreign binaries.DRACUT_TESTBIN can override /bin/sh. A cross-compiled sysroot
may use symlinks that are valid only when running on the target
so a real file must be provided that exist in the sysroot.DRACUT_INSTALL now supports debugging dracut-install in itself
when run by dracut but without debugging the dracut scripts.
E.g. DRACUT_INSTALL="valgrind dracut-install or
DRACUT_INSTALL="dracut-install --debug".DRACUT_COMPRESS_BZIP2, DRACUT_COMPRESS_LBZIP2, DRACUT_COMPRESS_LZMA,
DRACUT_COMPRESS_XZ, DRACUT_COMPRESS_GZIP, DRACUT_COMPRESS_PIGZ,
DRACUT_COMPRESS_LZOP, DRACUT_COMPRESS_ZSTD, DRACUT_COMPRESS_LZ4,
DRACUT_COMPRESS_CAT: All of the compression utilities may be
overridden, to support the native binaries in non-standard places.DRACUT_ARCH overrides "uname -m".
SYSTEMD_VERSION overrides "systemd --version".
The dracut-install utility was overhauled to support sysroot via
a new option -r and fixes for clang-analyze. It supports
cross-compiler-ldd from
https://gist.github.com/jerome-pouiller/c403786c1394f53f44a3b61214489e6fDRACUT_INSTALL_PATH was introduced so dracut-install can work with
a different PATH. In a cross-compiled environment (e.g. Yocto), PATH
points to natively built binaries that are not in the host's /bin,
/usr/bin, etc. dracut-install still needs plain /bin and /usr/bin
that are relative to the cross-compiled sysroot.DRACUT_INSTALL_LOG_TARGET and DRACUT_INSTALL_LOG_LEVEL were
introduced so dracut-install can use different settings from
DRACUT_LOG_TARGET and DRACUT_LOG_LEVEL. -
don't call fsfreeze on subvol of root file system
-
Use TMPDIR (typically /run/user/$UID) if available
-
dracut.sh: add check for invalid configuration files
Emit a warning about possible misconfigured configuration files, where
the spaces around values are missing for +="" -
dracut-functions: fix find_binary() to return full path
-
dracut.sh: FIPS workaround for openssl-libs on Fedora/RHEL
-
dracut.sh: fix early microcode detection logic
-
dracut.sh: fix ia32 detection for uefi executables
-
dracut.sh: Add --version
-
dracut.sh: Add --hostonly-nics option
-
EFI Mode: only write kernel cmdline to UEFI binary
-
Allow $DRACUT_INSTALL to be not an absolute path
-
Don't print when a module is explicitly omitted (by default)
-
Remove uses of bash (and bash specific syntax) in runtime scripts
-
dracut-init.sh: Add a helper for detect device kernel modules
-
dracut-functions.sh: Fix check_block_and_slaves_all
-
dracut-functions.sh: add a helper to check if kernel module is available
Documentation
- dracut.cmdline.7.asc: clarify usage of
rd.lvm.vg
andrd.lvm.lv
- dracut.conf.5.asc: document how to config --no-compress in the config
- fix CI badges in README.md and fix dracut description
- dracut.modules.7.asc: fix typos
- dracut.modules.7.asc: fix reference to insmodpost module
- Add --version to man page
- Adding code of conduct
- Document initqueue/online hook
dracut-install:
- install: also install post weak dependencies of kernel modules
- install: Globbing support for resolving "firmware:"
mkinitrd:
- use vmlinux regex for ppc*, vmlinuz for i686
mkinitrd-suse:
- fix i586 platform detection
modules:
00systemd:
- skip dependency add for non-existent units
- add missing cryptsetup-related targets
05busybox:
- simplify listing of supported utilities
06rngd:
- install dependant libs too
- Do not start inside container
10i18n:
- i18n: Always install /etc/vconsole.conf
35network-legacy:
- dhclient-script: Fix typo in output of BOUND & BOUND6 cases
- simplify fallback dhcp setup
35network-manager:
- ensure that nm-run.sh is executed when needed
- install libnss DNS and mDNS plugins
- always pull in machinery to read ifcfg files
- set kernel hostname from the command line
- move connection generation to a lib file
40network:
- fix glob matching ipv6 addresses
- net-lib.sh: support infiniband network mac addresses
45url-lib:
- drop NSS if it's not in curl --version
80cms:
- regenerate NetworkManager connections
90btrfs:
- force preload btrfs module
- Install crypto modules in 90kernel-modules
90crypt:
- cryptroot-ask: no warn if /run/cryptsetup exist
- install crypto modules in 90kernel-modules
- try to catch kernel config changes
- fix force on multiple lines
- pull in remote-cryptsetup.target enablement
- cryptroot-ask: unify /etc/crypttab and rd.luks.key
90dmsquash-live:
- iso-scan.sh: Provide an easy reference to iso-scan device
90kernel-modules:
- remove nfit from static module list (see nvdimm module)
- install crypto modules in 90kernel-modules
- add sg kernel module
- add pci_hyperv
- install block drivers more strictly
- install less modules for hostonly mode
- arm: add drivers/hwmon for arm/arm64
90kernel-network-modules
- on't install iscsi related module (use 95iscsi)
90lvm:
- remove unnecessary ${initdir} from lvm_scan.sh
- fix removal of pvscan from udev rules
- do not add newline to cmdline
90multipath:
- add automatic configuration for multipath
(adds 'rd.multipath=default' to use the default config) - install kpartx's 11-dm-parts.rules
90nvdimm:
- new module for NVDIMM support
90ppcmac:
- respect DRACUT_ARCH, don't exclude ppcle
90qemu-net:
- in hostonly mode, only install if network is needed
- install less module for strict hostonly mode
91zipl:
- parse-zipl.sh: honor SYSTEMD_READY
95cifs:
- pass rootflags to mount
- install new softdeps (sha512, gcm, ccm, aead2)
95dasd:
- only install /etc/dasd.conf if present
95dcssblk:
- fix script permissions
95fcoe:
- fix pre-trigger stage by replacing exit with return in lldpad.sh
- default rd.nofcoe to false
- don't install if there is no FCoE hostonly devices
95iscsi:
- fix missing space when compiling cmdline args
- fix ipv6 target discovery
95nfs:
- only install rpc services for NFS < 4 when hostonly is strict
- Change the order of NFS servers during the boot
(next-server option has higher priority than DHCP-server itself) - install less module if hostonly mode is strict
95nvmf:
- add module for NVMe-oF
- add NVMe over TCP support
95resume:
- do not resume on iSCSI, FCoE or NBD
95rootfs-block:
- mount-root.sh: fix writing fstab file with missing fsck flag
- only write root argument for block device
95zfcp:
- match simplified rd.zfcp format too
95zfcp_rules:
- parse-zfcp.sh: remove rule existence check
95znet:
- add a rd.znet_ifname= option
98dracut-systemd:
- remove memtrace-ko and rd.memdebug=4 support in dracut
- remove cleanup_trace_mem calls
- dracut-initqueue: Print more useful info in case of timeout
- as of v246 of systemd "syslog" and "syslog-console" switches have been deprecated
- don't wait for root device if remote cryptsetup active
99base:
- dracut-lib.sh: quote variables in parameter expansion patterns
- remove memtrace-ko and rd.memdebug=4 support in dracut
- remove cleanup_trace_mem calls
- see new module 99memstrack
- prevent creating unexpected files on the host when running dracut
99memstrack:
- memstrack is a new tool to track the overall memory usage and
allocation, which can help off load the improve the builtin module
memory tracing function in dracut.
99squash:
- don't hardcode the squash sub directories
- improve pre-requirements check
- check require module earlier, and properly
new modules:
- nvmf
- watchdog-modules
- dbus
- network-wicked
removed modules:
- stratis
test suite:
- use dd from /dev/zero, instead of creating files with a hole
- TEST-03-USR-MOUNT/test.sh: increase loglevel
- TEST-12-RAID-DEG/create-root.sh: more udevadm settle
- TEST-35-ISCSI-MULTI: bump disk space
- TEST-41-NBD-NM/Makefile: should be based on TEST-40-NBD not TEST-20-NFS
- TEST-99: exclude /etc/dnf/* from check