Package Details: dracut-ukify 10-1

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.38
First Submitted: 2023-02-20 21:54 (UTC)
Last Updated: 2025-01-31 12:58 (UTC)

Latest Comments

1 2 3 4 5 Next › Last »

Prototik commented on 2025-02-01 22:07 (UTC)

@android_aur that's dracut bug not honoring --quiet option: https://github.com/dracut-ng/dracut-ng/issues/1195

android_aur commented on 2025-02-01 18:58 (UTC) (edited on 2025-02-01 19:07 (UTC) by android_aur)

Since the latest dracut-ukify and/or dracut version (dracut 106-1 & dracut-ukify 10-1 got installed at the same time today) the output is suddenly overly verbose:

❯ sudo dracut-ukify -a
==> dracut-ukify -g linux
  -> Building initrd image linux (6.12.10-arch1-1)
Creating group 'nobody' with GID 65534.
Creating group 'audio' with GID 996.
Creating group 'disk' with GID 995.
Creating group 'input' with GID 994.
Creating group 'kmem' with GID 993.
Creating group 'kvm' with GID 992.
Creating group 'lp' with GID 991.
Creating group 'optical' with GID 990.
Creating group 'render' with GID 989.
Creating group 'sgx' with GID 988.
Creating group 'storage' with GID 987.
Creating group 'tty' with GID 5.
Creating group 'uucp' with GID 986.
Creating group 'video' with GID 985.
Creating group 'users' with GID 984.
Creating group 'systemd-journal' with GID 983.
Creating user 'root' (Super User) with UID 0 and GID 0.
Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534.
  -> Ukify image linux (6.12.10-arch1-1)
Wrote unsigned /efi/EFI/Linux/linux-6.12.10-arch1-1-fd7db8933ea94c5a9ca6443d8d133a53-2021.08.27.efi
  -> Mark linux image linux (6.12.10-arch1-1) as default

I prefered the old version without all the Creating group 'XYZ' with GID '123' information. Is there a way to get the old behaviour back?

Prototik commented on 2025-01-31 12:59 (UTC)

@gabfv I've added ${esp} and ${boot} variables to the path expansion, and allowing absolute paths as well, so you can define now where to put your uki images, please give a try.

gabfv commented on 2024-12-22 15:43 (UTC) (edited on 2024-12-26 02:23 (UTC) by gabfv)

I'd like to add this feature to choose the XBOOTLDR instead of the ESP partition. I tried to make it as simple as possible so I added another variable (ukify_use_xbootldr) in the .conf and then overriding the ESP path with bootctl --print-boot-path if said variable is true. Here's the patch:

diff --git a/dracut-ukify b/dracut-ukify
index 3f5acd7..581b419 100755
--- a/dracut-ukify
+++ b/dracut-ukify
@@ -42,6 +42,9 @@ esac
}

ESP_PATH=$(bootctl --print-esp-path)
+if [[ "$ukify_use_xbootldr" = "true" ]]; then
+  ESP_PATH=$(bootctl --print-boot-path)
+fi
MACHINE_ID=$(</etc/machine-id)
# shellcheck source=/etc/os-release
source <(grep -E '^(BUILD_)?ID=' /etc/os-release)
diff --git a/dracut-ukify.conf b/dracut-ukify.conf
index 5745a79..21ef3cd 100644
--- a/dracut-ukify.conf
+++ b/dracut-ukify.conf
@@ -47,6 +47,10 @@ colorize=auto
#  [fallback]='EFI/Linux/linux-${version}-${machine_id}-${build_id}-fallback.efi'
#)

+# Choose whether the UKI image path ends up the XBOOTLDR partition (generally /boot; from "bootctl --print-boot-path") instead of the default ESP partition (generally /efi; from "bootctl --print-esp-path").
+# Can be true or false.
+#ukify_use_xbootldr=true
+
# Override kernel cmdline per variant
# It can be used to define each variant it's own cmdline, for example:
#ukify_cmdline=(

edit: Fixed missing fi in the patch

phush0 commented on 2024-12-13 10:10 (UTC)

be aware that the new systemd boot do not support lz4

Prototik commented on 2024-12-11 12:33 (UTC)

@ddd my bad, fixed, thanks

ddd commented on 2024-12-11 10:54 (UTC)

Wrong hash of dracut-ukify.conf after the latest change.

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.