Skip to content

pmmx: fix EFI image generation when building on x86_64 host

Max Rees requested to merge uefi-pmmx into master

When generating a pmmx spin on an x86_64 host, the host's grub-mkimage is used, which looks in the host's /usr/lib/grub for i386-efi by default when generating the EFI image. Since this doesn't exist on any of our x86_64 hosts, use the /usr/lib/grub from the squashfs we just generated instead. grub-mkimage supports this usage using the -d/--directory option.

This probably would have been noticed earlier since it generates the following fatal error:

grub-mkimage: error: cannot open `/usr/lib/grub/i386-efi/moddep.lst': No such file or directory.

But the post scripts are run using "sh" instead of "sh -e", ".", etc from the main script.

Since this error was silently ignored, the resulting EFI images were zero bytes in length.

Shiggs|Pi4 tested this change on their EFI32 tablet and affirmed that it resulted in a successful boot (including all_video à la !5 (merged))

Edited by Max Rees

Merge request reports