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
This commit is contained in:
Marc Pervaz Boocha 2023-07-30 22:35:39 +05:30 committed by Zbigniew Jędrzejewski-Szmek
parent 27edb18db0
commit f3d1d7609d

View file

@ -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'