Please try out dracut

worked here

System:
Supermicro
at /sys/To be filled by O.E.M.
X9SRH-7F/7TF
Root mount:
/dev/sda2 on / type ext4 (rw,relatime)
Distributor ID: Ubuntu
Description: Ubuntu Plucky Puffin (development branch)
Release: 25.04
Codename: plucky
ZFS 2.3

For the use case we are talking about here, locally-generated initrds, mkosi-initrd is not intended in the first place. Dracut will remain around for that for the foreseeable future in all distros.

mkosi-initrd’s use case is pre-built initrds, and we already have a solution for that: core-initrd and snapped kernels, as used on FDE desktop images.

mkosi-initrd is used also fully intended to be used for locally built initrds. The image will be customized for local crypttab, cmdline, modules, firmware, but still be built from packages for all the rest. I have documented this some time ago at https://wiki.debian.org/EFIStub#With_mkosi-initrd

While you can do that it’s not advisable due to the significant overhead involved.

Building from packages is for sure a bit slower due to dpkg, but I wouldn’t say it’s a deal breaker

I use dracut in ubuntu since 22.04, I never had single problem, it is powerful and easy to config.
I actually installed the dracut binary package, and removed initramfs-tools. I do not want hybrid config. I think it works more stable without initramfs-tools

I’m not sure if this is related to dracut

$ sudo dpkg --configure -a
Setting up grub-pc (2.12-5ubuntu9) ...
error: unexpected argument '-Z' found

  tip: to pass '-Z' as a value, use '-- -Z'

Usage: cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

For more information, try '--help'.
dpkg: error processing package grub-pc (--configure):
 installed grub-pc package post-installation script subprocess returned error exit status 1
Setting up apparmor (4.1.0~beta5-0ubuntu9) ...
+ . /usr/share/debconf/confmodule
+ [ !  ]
+ PERL_DL_NONLAZY=1
+ export PERL_DL_NONLAZY
+ [  ]
+ exec /usr/share/debconf/frontend /var/lib/dpkg/info/apparmor.postinst configure 4.1.0~beta5-0ubuntu6
+ . /usr/share/debconf/confmodule
+ [ ! 1 ]
+ [ -z  ]
+ exec
+ [  ]
+ exec
+ DEBCONF_REDIR=1
+ export DEBCONF_REDIR
+ . /lib/apparmor/rc.apparmor.functions
+ PARSER=/sbin/apparmor_parser
+ PARSER_OPTS=--write-cache
+ [ no = yes ]
+ [ n = y ]
+ [ -d /etc/apparmor.d ]
+ PROFILE_DIRS=/etc/apparmor.d
+ ADDITIONAL_PROFILE_DIR=
+ [ -n  ]
+ AA_STATUS=/usr/sbin/aa-status
+ SECURITYFS=/sys/kernel/security
+ SFS_MOUNTPOINT=/sys/kernel/security/apparmor
+ STATUS=0
+ dpkg --compare-versions 4.1.0~beta5-0ubuntu6 lt-nl 2.13-7
+ dpkg --compare-versions 4.1.0~beta5-0ubuntu6 lt-nl 2.13-7
+ dpkg --compare-versions 4.1.0~beta5-0ubuntu6 lt-nl 2.5~pre+bzr1362-0ubuntu2
+ db_get apparmor/homedirs
+ _db_cmd GET apparmor/homedirs
+ _db_internal_IFS= 

+ IFS= 
+ printf %s\n GET apparmor/homedirs
+ IFS=

+ read -r _db_internal_line
+ IFS= 

+ RET=
+ return 0
+ mktemp
+ tmp=/tmp/tmp.wrf0fgLfRW
+ cat
+ [ -n  ]
+ cat
+ mkdir -p /etc/apparmor.d/tunables/home.d
+ mv -Z -f /tmp/tmp.wrf0fgLfRW /etc/apparmor.d/tunables/home.d/ubuntu
error: unexpected argument '-Z' found

  tip: to pass '-Z' as a value, use '-- -Z'

Usage: mv [OPTION]... [-T] SOURCE DEST
       mv [OPTION]... SOURCE... DIRECTORY
       mv [OPTION]... -t DIRECTORY SOURCE...

For more information, try '--help'.
dpkg: error processing package apparmor (--configure):
 installed apparmor package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of grub-efi-amd64-signed:
 grub-efi-amd64-signed depends on grub-efi-amd64 | grub-pc; however:
  Package grub-efi-amd64 is not installed.
  Package grub-pc is not configured yet.

dpkg: error processing package grub-efi-amd64-signed (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 grub-pc
 apparmor
 grub-efi-amd64-signed

I decided to go all in on this Lubuntu VM

1 Like

I asked around; are you using the Rust coreutils instead of the regular one?

If so, GRUB’s packaging isn’t quite adapted for it yet. You could either revert to the regular coreutils, or try patching it manually (not recommended).

If you aren’t actually using the Rust coreutils, then this is very curious, please explain more.

Oh! that could be it


Haha

That doesn’t show after I reverted it

1 Like

Does clevis-dracut work in 24.10? It doesn’t seem to work in 24.04, although it was strangely working for me until a recent update.

I need Clevis to connect to a Tang server.

I notice that clevis-dracut seems to be supported in 25.04.

Thanks

25.04 releases this Thursday. Upgrade when it’s offered (usually a week or two after release) and try it after you’ve upgraded if you want to experiment with it for best results.

Success on Plucky with hostonly and tpm2-tss

System:
Dell Inc.
XPS
XPS 15 9510
Root mount:
/dev/mapper/nvme0n1p5_crypt on / type ext4 (rw,relatime,errors=remount-ro)

Up and running on both Ubuntu 22.04 and 24.04, Desktop and Laptop usage.

A couple of adaptations made this fly, some rather hacky:

/etc/dracut.conf is extended by

install_items+=" /etc/alternatives/default.plymouth "
omit_drivers+=" nvidia nvidia_drm nvidia_modeset "
persistent_policy="by-uuid"
use_fstab="yes"
hostonly="yes"
hostonly_cmdline="no"
File /usr/sbin/plymouth-set-default-theme, mode 755
----
if [ -f /etc/alternatives/default.plymouth ] ; then
	echo `ls -la /etc/alternatives/default.plymouth | awk -F\/ '{print $NF}' | sed -e "s/.plymouth$//g"`
else
	echo "text"
fi

Plymouth works this way, also with luks2 disk encryption.
Masking Nvidia Kernel Modules made suspend work on laptops with Nvidia graphics card.

File: /usr/local/sbin/update-initramfs, mode 755
----
echo This is not Ubuntu update-initramfs
echo "$@"
/usr/bin/dracut -f 2> /dev/null > /dev/null

Systems are managed by fai

It is working, independent to choice of bootloader grub or systemd-boot and persists system upgrades.

initramfs-tools are purged from the system, both dracut-core and dracut are installed.

Felt less painful than making initramfs-tools ignore nvidia modules. I guess Ubuntu 24.10 improved on apt / dpkg integration making the hack of overwriting update-initramfs obsolete.