Skip to content

Switch from busybox to systemd initramfs hooks#4237

Closed
h8d13 wants to merge 1 commit intoarchlinux:masterfrom
h8d13:patch-systemdhooks
Closed

Switch from busybox to systemd initramfs hooks#4237
h8d13 wants to merge 1 commit intoarchlinux:masterfrom
h8d13:patch-systemdhooks

Conversation

@h8d13
Copy link
Contributor

@h8d13 h8d13 commented Feb 16, 2026

Currently if a user doesn't setup HSM/FIDO2 (which most don't) he will take the path of busybox, here we change all of them to systemd init hooks. This was even commented in code

"we're going away from this."

And requested: #3989 about a year ago (and a bit of a can of worms since historically is an interesting subject #102 #861)

This would also allow for auto-unlocks using /etc/cryptsetup-keys.d/ via FILES= hook and GRUB2 that supports unlocking non-UKI when /boot is on encrypted parts with single prompt (pbkdf and new argon2id)

On top of that it makes it simpler for user to setup desired TPM2 or FIDO2 and/or sbctl systemd-cryptenroll post-install, which often requires some involved "setup" steps or hw compatibility check which (is hard to do in fully
automated flow in the first place.)

Most lamda users probably don't have U2F keys. I haven't tested that in a bit...

Branch tested LUKS2 and non encrypted which seem to work fine, and will be testing LVM cases

TLDR; Basically the busybox hooks workarounds feels awkwardly hacky and is given as a default to most users, which then they have to "fix" for their desired more "advanced" features (or for the more modern standard/counterpart) https://wiki.archlinux.org/title/Mkinitcpio#Hook_list

- Always use sd-encrypt instead of encrypt (kept libfido2 for HSM)
- Use rd.luks.name= kernel params instead of cryptdevice=
- Remove mkinitcpio busybox fallback (systemd->udev, sd-vconsole->keymap)
@h8d13 h8d13 closed this Feb 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant