Skip to content

dracut-104

Choose a tag to compare

@LaszloGombos LaszloGombos released this 09 Oct 13:39
· 1444 commits to main since this release
104

New dracut modules:

  • shell-interpreter: meta package for improved shell selection
  • fips-crypto-policies: make c-p follow FIPS mode automatically
  • squash-lib: code shared by 95squash-{squashfs,erofs}

Removed dracut modules:

  • ifcfg: no longer needed for networking
  • mksh: lack of interest to maintain

Notable new features:

  • add --add-confdir option to dracut
  • new dracut configuration profiles under dracut.conf.d/ (e.g. for uki)
  • systemd-udevd: make systemd-sysctl, systemd-modules-load optional

Notable bug fixes:

  • crypt: include systemd-cryptsetup module when needed
  • udev-rules: move installation of libkmod to udev-rules module
  • busybox: install busybox symlinks later in the generation process
  • nvmf: install (only) required nvmf modules
  • systemd: include systemd config files from /usr/lib/systemd
  • systemd: trigger systemd-vconsole-setup.service only on demand
  • multipath: include module with "find_multipaths strict"
  • nfs: include also entries from /usr/lib/{passwd,group}
  • network: handle '-m network'
  • systemd-networkd: remove basename dependency
  • remove obsolete syntax for many command line options without the rd. prefix

The project builds test containers daily for the following Linux distributions:

Alpine, Arch, Debian (amd64 and arm64), Fedora (amd64 and arm64), Gentoo, openSUSE, Ubuntu, Void
These Linux distributions test dracut in various configurations (systemd/OpenRC/runit, glibc/musl, dhclient/NetworkManager/systemd-networkd).

Features

  • config example for cloud provider uki vm (cc0a0e42)
  • add common config when networking is not desired (9ffabd59)
  • busybox: use busybox --install to install itself (3975e26a)
  • dracut: detect kernel initrd support (b41c2401)
  • dracut-functions: check more paths (ede2a05a)
  • dracut-init.sh: allow changing the destination directory for inst et al (3ad7e6c2)
  • dracut-initramfs-restore: unpack erofs images (ce83d38d)
  • dracut.sh: add --add-confdir option (6107f5e5)
  • fips: add support for UKIs (1000265a)
  • fips-crypto-policies: make c-p follow FIPS mode automatically (bd3c1e1c)
  • lsinitrd: add support for erofs images (2a3bc5af)
  • pcmcia: only include when another module requires it (ea4199b3)
  • rescue: move command line arguments to 50-rescue.conf (d24917fa)
  • shell-interpreter: meta package for improved shell selection (e1fcfe64)
  • squash:
    • add module 95squash-erofs (ebc9e84d)
    • split 95squash-squashfs from 99squash (5d03cc3b)
    • move mksquashfs to 99squash/modules-setup (b5482f07)
  • systemd: always install libsystemd libraries (921792f2)
  • systemd: include systemd config files from /usr/lib/systemd (6c99c073)
  • test-root: only include debug module if V is set to 2 (8974fea2)

Bug Fixes

  • install test infrastructure (a0d12aa7)
  • typo in variable name (76b2f1a9)
  • Dockerfile-Gentoo: explicitly pull in all build dependencies (2f8ea1c9)
  • Makefile: install dracut config examples under /usr (0d369e3e)
  • base:
    • init from base is not needed when systemd is enabled (ae94b24f)
    • remove the undocumented real_init, realinitpath and rd.distroinit (b1dbe859)
  • busybox:
    • install busybox symlinks later in the generation process (4e78a870)
    • install busybox symlinks manually (95ba0327)
  • crypt:
    • include systemd-cryptsetup module when needed (8907ba12)
    • install dm_crypt module in non-hostonly mode as well (59af2fff)
  • dracut:
    • --list-modules should imply --no-kernel as well (bd7736e9)
    • don't apply aggressive strip to kernel modules (a1c51af1)
    • do not add all lib subdirs to LD_LIBRARY_PATH with --sysroot (d0c82322)
    • ldd output borked with --sysroot (e0b87682)
    • re-enable extended attributes in containers (c964a56f)
  • dracut-fuctions.sh: avoid reading the wrong kconfig (d8fb0ef8)
  • dracut-functions: allow for \ in get_maj_min file path (91b1574c)
  • dracut-functions.sh: only return block devices from get_persistent_dev (6611c6e4)
  • dracut-init.sh: add module to mods_to_load before checking dependencies (d0f8fde5)
  • dracut-install:
    • use correct data type for pid (36dc45ca)
    • handle correctly sysrootdir with trailing '/' (1c44cd71)
    • do not assume handled path starts with sysrootdir (7bc1f538)
    • resolve -Wextra warnings (8de0258d)
    • refuse empty DRACUT_LDD environment variable (a9e11447)
  • dracut-systemd: include systemd-cryptsetup module when needed (e0e5424a)
  • dracut.sh:
    • exit when installing the squash loader fails (abac41d0)
    • use only compressor that kernel supports (cc17951e)
    • account for the kernel being named kernel (c520f3a4)
  • fips-crypto-policies: make it depend on fips dracut module (a2096daf)
  • hwdb: only install /etc/udev/udev.hwdb in hostonly mode (f2b1491f)
  • lsinitrd: check skipcpio file directly (2815f021)
  • lvm: clean up whitespace in messages (5e9cb283)
  • man: update description of the --gzip option (206b5448)
  • multipath: include module with "find_multipaths strict" (1e802f15)
  • network:
    • call both check_module and module_check (c81c9552)
    • handle '-m network' (c4b57722)
  • nfs: include also entries from /usr/lib/{passwd,group} (d954e3a9)
  • nvmf:
    • install (only) required nvmf modules (3748ed4d)
    • require NVMeoF modules (41332702)
  • release: improve commit message (267d002c)
  • rescue: make rescue always no-hostonly (224c0091)
  • rngd: install system service file (a9528201)
  • squash:
    • remove cyclic dependency (5f6b6fa4)
    • use 99busybox instead of installing it manually (69ebcb58)
    • explicitly create required directories (d23b0eea)
  • squash-erofs: properly exclude $squashdir (323af181)
  • squash-lib: harden against empty $initdir (924e2e85)
  • systemd:
    • do not set unused target as the default (982735c7)
    • /sbin/init is not required inside initrd (a066b07f)
    • systemd-vconsole-setup has a dependency on loadkeys (55517460)
    • remove duplicate systemd cryptsetup targets (ad520855)
    • make nologin optional (953b48a7)
    • move installation of libkmod to udev-rules module (ef0972fe)
  • systemd-cryptsetup: install cryptsetup-pre.target (181e1f11)
  • systemd-initrd: add base as dependency (56c84cde)
  • systemd-networkd:
    • remove basename dependency (2bb74448)
    • make sure default network is always last (e1dfdaca, closes #618)
  • systemd-sysctl: systemd-modules-load is not a dependency (4fb67460)
  • systemd-udevd: make systemd-sysctl, systemd-modules-load optional (1de08390)
  • test: always install kernel modules (9c79e226)
  • udev-rules:
    • remove systemd-specific rules (6243b7b6)
    • move *-persistent-storage.rules to rootfs-block (d67251aa)
    • install dropins for udev.conf (bdaa4e5b)
  • watchdog: change the priority of watchdog kernel modules (0097ded1)

Performance

  • systemd-initrd:
    • do not depend on base module (06074459)
    • initrd.target is already the default (b7b4f039)

Contributors