[arch-dev-public] Mkinitcpio replacement with Dracut

Maxime Gauduin alucryd at archlinux.org
Tue May 21 15:29:14 UTC 2019

On Mon, 2019-05-20 at 23:41 -0300, Giancarlo Razzolini via arch-dev-
public wrote:
> Hi All,
> Recently, Dave announced his intention to step down as mkinitcpio
> maintainer. I have been
> handling a few things on it, made some small changes to our
> mkinitcpio-busybox [0], closed a few old
> bugs, while also made sure some of the other bug reports are still
> valid. [1]
> I have been testing a few patches to mkinitcpio for a while to fix
> those bugs, but last week Dave
> and I had a discussion on IRC and we agreed that we could spend
> better time contributing somewhere
> else than keeping working with mkinitcpio.
> Currently mkinitcpio cannot boot from NFS properly, mknitcpio-nfs-
> utils [2] uses very old code. Even
> though ipconfig works, it has several drawbacks compared to using
> more modern tools. Not to mention that
> we have two use cases for mkinitcpio, which are base and systemd
> enabled initramfs. Even though we use
> by default our base enabled initramfs, we have to support systemd
> related issues and we have to keep
> developing our systemd hooks.
> I have been looking into dracut for some time now, I copied some
> stuff from them on a few of my own
> scripts and they also have an actual test suite, that we currently
> can't use on Arch, but I plan to
> change that.
> With this in mind, I have packaged dracut for Arch and put it on
> Extra [3]. I have been using a dracut
> initramfs for a while now to boot my encrypted partition.
> Surprisingly, I only had to create a small patch
> to one of the dm-crypt module scripts [4]
> In this initial phase I want to ask as many of you to test this as a
> replacement to mkinitcpio in your setups,
> as many as possible, and in as many scenarios as possible. We will
> probably have to keep both packages on
> our repos for a long time, but once we are confident it's a good fit,
> we can replace mkinitcpio on our iso and base,
> so new installs get dracut by default.
> Please, drop in your comments as well.
> Regards,
> Giancarlo Razzolini
> [0] 
> https://git.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/mkinitcpio-busybox&id=489fbd6f2ed1defd1c7f1b57e7d6edd25185e6d8
> [1] https://bugs.archlinux.org/index.php?string=mkinitcpio&project=0
> [2] https://git.archlinux.org/mkinitcpio-nfs-utils.git/
> [3] https://www.archlinux.org/packages/extra/x86_64/dracut/
> [4] 
> https://git.archlinux.org/svntogit/packages.git/tree/trunk/0001-90crypt-Change-the-module-setup.sh-to-use-uname-r-in.patch?h=packages/dracut

Hi Giancarlo,

Did some initial testing on my system, I was almost able to get a
working initrd after a few tweaks [0] and a little patching [1] to use
fs-lib with bash and without systemd. However I can't use my usb
and mouse when greeted by gdm. I'll keep looking into it unless you
have some pointers at the ready.

Using the following command to generate the initrd:

mkinitrd --xz /boot/initramfs-5.1.3-zen1-1-zen.img

And the resulting lsinitrd [2].


[0] https://paste.xinu.at/07qqfyuQljNvR1Kh/
[2] https://paste.xinu.at/AhXYJjuCtUR2vY4O/

More information about the arch-dev-public mailing list