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