We’ve been working for some time to make dracut convenient to use with Manjaro system and now can share our work for testing.
Package is in unstable. dracut-hook is based on this AUR package and was adopted to follow Manjaro’s naming scheme.
How to use:
pamac install dracut dracut-hook
mhwd-kernel -i <some linux kernel you don't have installed>
dracut should generate the initramfs along with initramfs to /boot/.
But I realized that the hook uses some specialized options for creating the initramfs and different ones used for the fallback initramfs … so instead of just running dracut --regenerate-all I did:
With mkinitcpio you always have to maintain your config and specify which modules the initramfs image may need. Dracut on the other hand detects those automatically and applies them. So no need to maintain any configs in that regard. For example you add something new to your system like a filesystem and it ships with a hook, dracut may detect that and adds it automatically.
Dracut version 056 is in the repo, but this version was released in 2022-02-18 and is now more than 1 year old.
In my experience it has some bug for me. It doesn’t respect my custom udev-rules.script
For example: $ cat /etc/udev/rules.d/90-disable-mouse.rules
If you use grub-btrfs to boot a read-only snapshot with OverlayFS, Dracut wouldn’t be able to do that. However, you can manually copy two Dracut scripts:
OK …
I put up a script to do this for me.
Everythings automated … but theres easily configurable variables near the top for settings flags for regular and fallback initramfs.
It worked for me on a very simple Manjaro Xfce VM. I wasn’t sure what option to choose upon installation, so I just chose Default (none). I set a .conf file to compress via .zstd , but upon execution it did not note a compression method, though I believe it did before I created the .conf file,( gzip maybe?). Both files were significantly larger than my .zstd compressed mkinitcpio files.
All clear. seems to work fine if you clean out mkinit images and dont select them …
and disregard the man reference to lzo which is unrecognized … lzop works if installed.
I got the same amdgpu error at boot sometimes when using Kernel 6.4:
$ journalctl --no-pager -p 3 -b -1 --output=cat
amdgpu 0000:0b:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x0000000D SMN_C2PMSG_82:0x00000000
amdgpu 0000:0b:00.0: amdgpu: Failed to retrieve enabled ppfeatures!
amdgpu 0000:0b:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x0000000D SMN_C2PMSG_82:0x00000000
amdgpu 0000:0b:00.0: amdgpu: Failed to retrieve enabled ppfeatures!
amdgpu 0000:0b:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x0000000D SMN_C2PMSG_82:0x00000000
This issue is caused by the kernel module amdgpu being in wrong(random) time-order on startup.
The solution:
I added add_drivers+=" amdgpu " in the dracut config /etc/dracut.conf, then rebuild initramfs to fix this issue and other issue of my custom vconsole font.
I noticed a bit that boot with amdgpu starts faster than before.
Until I got to the last part I was a bit confused being on amdgpu and using dracut … then ah, yes, added drivers…
Except I dont use the package-owned file (and i wanted early kms):
I know now, this issue is not caused by Dracut and Mkinitcpio, but by Kernel 6.4.x and lower power consumption, when using multiple monitors and AMD RX5000 series.