Package Details: dracut-ukify 9-5

Git Clone URL: https://aur.archlinux.org/dracut-ukify.git (read-only, click to copy)
Package Base: dracut-ukify
Description: Integration layer for dracut and systemd's ukify tool for Arch Linux
Upstream URL: https://aur.archlinux.org/packages/dracut-ukify
Licenses: MIT
Conflicts: dracut-hook-uefi, dracut-uefi-hook
Provides: dracut-hook
Submitter: Prototik
Maintainer: Prototik
Last Packager: Prototik
Votes: 10
Popularity: 0.23
First Submitted: 2023-02-20 21:54 (UTC)
Last Updated: 2024-08-19 16:31 (UTC)

Latest Comments

1 2 3 4 Next › Last »

jcruz commented on 2024-08-19 11:58 (UTC)

Thanks for the pointers. I will test it out in a VM later. This information should be documented better in the Arch Wiki. The UKI article just links to the Dracut article in the Dracut subsection. And the Dracut article tells you to use the flags/options for Dracut to use it, but then tells you to use this package to get the pacman hooks, but it is not stated that you should not use dracut UKI generation then. Since the systemd-ukify details are in the UKI article, you won't know if you only look at the Dracut article.

Prototik commented on 2024-08-19 05:21 (UTC)

@dngray @jcruz you both got wrong assignment by using dracut's built-in uefi(ukify) mode. You don't need to pass any uefi-related options to the dracut, but generate plain old initrd image, which then will be included in the resulted uki image by systemd-ukify. To avoid this issue further I'll add --no-uefi flag to the internal dracut image generation process.

TL;DR: remove uefi="yes" option from dracut config, and don't ever use dracut --regenerate-all with dracut-ukify.

Shished commented on 2024-08-19 05:19 (UTC)

You should remove 'uefi=yes' from dracut.conf. This option make dracut generate UKIs on its own and it conflicts with dracut-ukify which uses ukify for that.

dngray commented on 2024-08-19 05:09 (UTC)

jcruz, you're not the only one I too was having this issue https://bbs.archlinux.org/viewtopic.php?id=292326 and have not been able to successfully build a UKI with dracut-ukify.

I made habit of making sure to do it with dracut directly after a kernel update to avoid it. Would be nice if this could be fixed, or we could know what we're doing wrong.

jcruz commented on 2024-08-18 20:36 (UTC) (edited on 2024-08-18 20:37 (UTC) by jcruz)

Hi,

I'm testing this on a VM and installed a fresh arch. My setup includes LUKS & LVM and 3 kernels: linux, linux-zen & linux-lts. I have a custom /etc/dracut.conf.d/custom.conf with the following:

compress="gzip"
install_items+=" /etc/crypttab "
hostonly="yes"
uefi="yes"

From arch-chroot, when I run dracut --regenerate-all -f it generates the efi files and it works just fine after reboot. I'm using systemd-boot.

In the etc/dracut-ukify.conf I changed the default kernel to be linux-zen and uncommented the ukify_variants. I also removed the hostonly flag from the custom.conf above.

If I then run dracut-ukify -a to regenerate the efi and reboot I get an error about a magic number and can't decompress a file and it won't boot. I have to boot from the installation ISO and regenerate with pure dracut.

I know dracut works, so I'm not sure why this script does something that breaks it.

Prototik commented on 2024-07-15 17:38 (UTC)

@android_aur sure, added in 9-3, thanks for suggestion!

android_aur commented on 2024-07-15 06:41 (UTC) (edited on 2024-07-15 06:42 (UTC) by android_aur)

Awesome package! Thanks.

Would it be possible to add Target = usr/lib/firmware/* as an install [Trigger]? So that my UKI gets rebuild on linux-firmware package updates? The script I was previously using had this in it's install.hook.

aur_person23 commented on 2024-06-30 09:25 (UTC) (edited on 2024-06-30 09:26 (UTC) by aur_person23)

@Prototik THX!

I ment a note along the lines of that dracut-ukify will use flags from /etc/dracut.conf.d/* and that ukify_variants=() is just for flag overrides in different variants.

Since at least to me it was not clear if I had to manually copy the contents of /etc/dracut.conf.d/* into

ukify_variants=(
  [default]="mycopyiedflags"
)

or not.

Prototik commented on 2024-06-30 08:54 (UTC)

@aur_person23

Also a small note that dracut-ukify does not(?) take existing kernel parameters from /etc/kernel/cmdline?

It's kinda systemd' kernel-install specific, but I don't see a reason why we can not use it too, so dracut-ukify 9-1 now using it if nothing provided via dracut-ukify.conf. Moreover, it will search for /etc/kernel/cmdline, /usr/lib/kernel/cmdline and /proc/cmdline, and use first one found.

Would it be possible to add a short note/comment in dracut-ukify.conf to help other users?

What kind of note do you offer?

aur_person23 commented on 2024-06-30 06:38 (UTC) (edited on 2024-06-30 06:40 (UTC) by aur_person23)

@Prototik Thank you for your help!

Would it be possible to add a short note/comment in dracut-ukify.conf to help other users?


Also a small note that dracut-ukify does not(?) take existing kernel parameters from /etc/kernel/cmdline?

I could only get dracut-ukify working after manually copying my kernel parameters to ukify_global_args+=(--cmdline "root=/dev/sda1 quiet")

(I just assumed that would look at /etc/kernel/cmdline because the project I was previous using - kernel-install-for-dracut [AUR] - did)