System breaks after updating to dracut 108

I successfully rescued it by using a bootable USB, I mounted and chrooted into my system and ran sudo downgrade dracut and choose 107 from cache.

What could I do to fix updating to 108?
When I try updating, dracut fails with some warning and after I restart GRUB cannot find initramfs.

yay output when trying to update dracut to 108:

: Building initramfs for linux-lts (6.12.46-1-lts)
dracut[I]: Executing: /usr/bin/dracut --force --hostonly --no-hostonly-cmdline /boot/initramfs-linux-lts.img 6.12.46-1-lts
dracut[I]: *** Including module: bash ***
dracut[I]: *** Including module: systemd ***
dracut[I]: *** Including module: systemd-ask-password ***
dracut[I]: *** Including module: systemd-battery-check ***
dracut[I]: *** Including module: systemd-cryptsetup ***
dracut[I]: *** Including module: systemd-initrd ***
dracut[I]: *** Including module: systemd-journald ***
dracut[I]: *** Including module: systemd-modules-load ***
dracut[I]: *** Including module: systemd-pcrphase ***
dracut[I]: *** Including module: systemd-sysctl ***
dracut[I]: *** Including module: systemd-tmpfiles ***
dracut[I]: *** Including module: systemd-udevd ***
dracut[I]: *** Including module: i18n ***
dracut[I]: *** Including module: systemd-sysusers ***
dracut[I]: *** Including module: btrfs ***
dracut[I]: *** Including module: crypt ***
dracut[I]: *** Including module: dm ***
dracut[I]: *** Including module: dmraid ***
dracut[I]: *** Including module: fs-lib ***
dracut[I]: *** Including module: kernel-modules ***
dracut[I]: *** Including module: kernel-modules-extra ***
dracut[I]: *** Including module: lvm ***
dracut[I]: *** Including module: mdraid ***
dracut[I]: *** Including module: multipath ***
dracut[I]: *** Including module: qemu ***
dracut[I]: *** Including module: qemu-net ***
dracut[I]: *** Including module: hwdb ***
dracut[I]: *** Including module: lunmask ***
dracut[I]: *** Including module: resume ***
dracut[I]: *** Including module: rootfs-block ***
dracut[I]: *** Including module: terminfo ***
dracut[I]: *** Including module: udev-rules ***
dracut[I]: *** Including module: virtiofs ***
dracut[I]: *** Including module: dracut-systemd ***
dracut[I]: *** Including module: initqueue ***
dracut[I]: *** Including module: usrmount ***
dracut[I]: *** Including module: base ***
dracut[I]: *** Including module: shell-interpreter ***
dracut[I]: *** Including module: shutdown ***
dracut[I]: *** Including module: btrfs-snapshot-overlay ***
dracut[I]: *** Including modules done ***
dracut[I]: *** Installing kernel module dependencies ***
dracut[I]: *** Installing kernel module dependencies done ***
dracut[I]: *** Resolving executable dependencies ***
dracut-install: ERROR: cannot mmap '/var/tmp/dracut.dJE1hAO/initramfs/usr/bin/xfs_metadump': Invalid argument
dracut-install: ERROR: cannot mmap '/var/tmp/dracut.dJE1hAO/initramfs/usr/bin/fsck.xfs': Invalid argument
dracut-install: ERROR: cannot mmap '/var/tmp/dracut.dJE1hAO/initramfs/usr/bin/xfs_db': Invalid argument
dracut-install: ERROR: cannot mmap '/var/tmp/dracut.dJE1hAO/initramfs/usr/bin/xfs_repair': Invalid argument
dracut[F]: Resolving executable dependencies failed
error: command failed to execute correctly
(5/5) Checking which packages need to be rebuilt

You may need to get the one from the endeavouros repository. The one I have on my system is dracut 108_eos-1.

Check in pacman.conf file that the endeavouros repository is activated.

Hopefully that will help you out. A while back I had a problem with dracut 107 breaking my system. Don’t use the one from the Arch repository.

Can you show the output of

pacman -Q dracut
$ pacman -Q dracut
dracut 108_eos-1

when I downgrade I go to:

$ pacman -Q dracut
dracut 107-1

and I am also getting a lot of (only while downgrading back to 107):

dracut[I]: *** Including module: nvdimm ***
dracut-install: Failed to find module 'nd_e820' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/nvdimm/nd_e820.ko.zst
dracut-install: Failed to find module 'nd_pmem' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/nvdimm/nd_pmem.ko.zst
dracut-install: Failed to find module 'nd_btt' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/nvdimm/nd_btt.ko.zst
dracut-install: Failed to find module 'virtio_pmem' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/nvdimm/virtio_pmem.ko.zst
dracut-install: Failed to find module 'nd_virtio' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/nvdimm/nd_virtio.ko.zst
dracut-install: Failed to find module 'dptf_power' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/dptf/dptf_power.ko.zst
dracut-install: Failed to find module 'dptf_pch_fivr' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/dptf/dptf_pch_fivr.ko.zst
dracut-install: Failed to find module 'sbshc' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/sbshc.ko.zst
dracut-install: Failed to find module 'pfr_update' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/pfr_update.ko.zst
dracut-install: Failed to find module 'nfit' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/nfit/nfit.ko.zst
dracut-install: Failed to find module 'pfr_telemetry' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/pfr_telemetry.ko.zst
dracut-install: Failed to find module 'acpi_tad' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/acpi_tad.ko.zst
dracut-install: Failed to find module 'ec_sys' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/ec_sys.ko.zst
dracut-install: Failed to find module 'acpi_pad' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/acpi_pad.ko.zst
dracut-install: Failed to find module 'erst_dbg' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/apei/erst-dbg.ko.zst
dracut-install: Failed to find module 'einj' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/apei/einj.ko.zst
dracut-install: Failed to find module 'acpi_configfs' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/acpi_configfs.ko.zst
dracut-install: Failed to find module 'video' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/video.ko.zst
dracut-install: Failed to find module 'platform_profile' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/platform_profile.ko.zst
dracut-install: Failed to find module 'acpi_extlog' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/acpi_extlog.ko.zst
dracut-install: Failed to find module 'acpi_ipmi' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/acpi_ipmi.ko.zst
dracut-install: Failed to find module 'sbs' /usr/lib/modules/6.16.5-arch1-1/kernel/drivers/acpi/sbs.ko.zst

Edit
Issue might also be related to: Odd ldconfig logs in yay output

Eos uses its own version of dracut and not the dracut 107-1 version. But because of some compatibility problem with dracut 107 only the 106 (eos)version was used. So you can only downgrade to the 106 eos version. See also this topic

I’ve downgraded to 106 for now, and it seems to work properly. 107 also seemed to work, at least with the linux-lts kernel. But 108 keeps complaining that it cannot mmap.

I am wondering if this is related to your corrupted files issue from your other topic.

Yeah, I mentioned it. Please post that command that validates all packages when you can, maybe it can fix my system. At the moment it runs with 106 perfectly fine.

Edit: Actually, is there any way to reinstall all packages and their files while ignoring cache?

Here you go, it’s cued up to the relevant section:

[what an amazing option, wonder if it’s better option than rolling back or chrooting as far suceess rate for something broken? nice to know it exists all the same. am bookmarking that for more reading]

That’s going to depend on what the problem you need to fix is.

Thank you, had to use

sudo pacman -Qqn | sudo pacman --overwrite=* -S -

but it worked, I am now on dracut 108_eos-1.

Disclaimer: If anyone else wants to try this command, try it without --overwrite=* first. The docs mention that it should be a last resort.

so for you this worked?

sudo pacman -Qqn | sudo pacman -S -

Ahh…that is not really what you want to use in this situation. That reinstalls all your packages.

Now all your dependencies are probably marked as explicitly installed.

Why would that be? The command isn’t overwriting pacman’s databases. It’s essentially similar to deleting the pacman cache and then updating, which does not change the Install Reason.

It’s a brute-force and unnecessary way to do things, and I would have thought that the red warning box on the wiki page would have kept anyone from doing it, but I can’t see how it would change the Install Reason. --overwrite bypasses package conflict checks.

I just tested it and you are right, that doesn’t update the install reason. I thought it did last time I checked.

No, I had to use --overwrite=* for it to work. I just mentioned you should first try it without it.