summaryrefslogtreecommitdiffstats
path: root/src/kernel-install
diff options
context:
space:
mode:
authorMarc Pervaz Boocha <mboocha@sudomsg.xyz>2023-07-30 19:05:39 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2023-08-07 12:11:05 +0200
commitf3d1d7609d2008086f0f8369d9f842a5c09024b2 (patch)
treeb5fb098cdbc45beace390903b35657c562cad641 /src/kernel-install
parentMerge pull request #28627 from yuwata/udev-default-children-max (diff)
downloadsystemd-f3d1d7609d2008086f0f8369d9f842a5c09024b2.tar.xz
systemd-f3d1d7609d2008086f0f8369d9f842a5c09024b2.zip
Teach 60-ukify.install to search the staging dir
60-ukify.install would only work with initrd provided by command line arguements. Fixed to look for both microcode and initrd is found in $KERNEL_INSTALL_STAGING_AREA which is placed by initrd generator like mkinitcpio
Diffstat (limited to 'src/kernel-install')
-rwxr-xr-xsrc/kernel-install/60-ukify.install.in10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/kernel-install/60-ukify.install.in b/src/kernel-install/60-ukify.install.in
index 96ca2482b0..ecef36b324 100755
--- a/src/kernel-install/60-ukify.install.in
+++ b/src/kernel-install/60-ukify.install.in
@@ -171,6 +171,14 @@ def kernel_cmdline(opts) -> str:
return ' ' + ' '.join(options)
+def initrd_list(opts) -> list[Path]:
+ microcode = sorted(opts.staging_area.glob('microcode/*'))
+ initrd = sorted(opts.staging_area.glob('initrd*'))
+
+ #Order taken from 90-loaderentry.install
+ return [*microcode, *opts.initrd, *initrd]
+
+
def call_ukify(opts):
# Punish me harder.
# We want this:
@@ -191,7 +199,7 @@ def call_ukify(opts):
opts2.config = config_file_location()
opts2.uname = opts.kernel_version
opts2.linux = opts.kernel_image
- opts2.initrd = opts.initrd
+ opts2.initrd = initrd_list(opts)
# Note that 'uki.efi' is the name required by 90-uki-copy.install.
opts2.output = opts.staging_area / 'uki.efi'