From: Marc Pervaz Boocha Date: Sun, 30 Jul 2023 17:05:39 +0000 (+0530) Subject: Teach 60-ukify.install to search the staging dir X-Git-Tag: v255-rc1~806 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f3d1d7609d2008086f0f8369d9f842a5c09024b2;p=thirdparty%2Fsystemd.git 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 --- diff --git a/src/kernel-install/60-ukify.install.in b/src/kernel-install/60-ukify.install.in index 96ca2482b06..ecef36b3249 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'