help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

how to cross-compile modules?


From: Avi Deitcher
Subject: how to cross-compile modules?
Date: Thu, 5 Oct 2023 10:54:38 +0300

I am working on one arch, want to build a .EFI image for another. E.g. I am
on x86_64, I want to build both BOOTX86.EFI and BOOTAA64.EFI.

I clone grub and configure (--libdir=/grub-lib --with-platform=efi ) and
make and make install for my local x86_64, I have grub_mkimage, I can run

grub-mkimage grub-mkimage -O x86_64-efi -d /grub-lib/grub/x86_64-efi -o
/grub-lib/BOOTX64.EFI -p /EFI/BOOT ${GRUB_MODULES}

That works.

If I try to do the same for BOOTAA64.EFI, it fails because
/grub-lib/grub/arm64-efi does not exist, as I only compiled the modules for
x86_64.

./grub-mkimage -O arm64-efi -d /grub-lib/grub/arm64-efi -o
/grub-lib/BOOTAA64.EFI -p /EFI/BOOT ${GRUB_MODULES}

I could do a separate entire run on an arm64 machine, or emulate, but that
seems a waste. grub-mkimage is built for my arch and supports output for
different architectures. I don't want to build all of the grub tools, just
the modules for the correct arch.

Is there a correct invocation for just getting the modules compiled for an
alternate arch? What are the prereqs?

Thanks in advance

--
Avi Deitcher


reply via email to

[Prev in Thread] Current Thread [Next in Thread]