From: Chen Qi Date: Thu, 4 Jul 2019 02:38:37 +0000 (+0800) Subject: grub-efi.bbclass: take into consideration of multilib X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~13970 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c7b6dfecd22eae369bba54437cdff91fa8542df;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git grub-efi.bbclass: take into consideration of multilib When enabling multilib and building lib32-IMAGE which uses grub-efi, the build fails with the following error. install: cannot stat '/PROJ_DIR/build/tmp-glibc/deploy/images/intel-x86-64/grub-efi-bootia32.efi': No such file or directory The grub-efi is in NON_MULTILIB_SCRIPTS. That means we will use 64bit grub-efi for lib32-IMAGE. So take into consideration of multilib to fix this problem. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 90badc03a0e..ec692f1646f 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -9,9 +9,16 @@ efi_populate() { GRUB_IMAGE="grub-efi-bootia32.efi" DEST_IMAGE="bootia32.efi" - if [ "${TARGET_ARCH}" = "x86_64" ]; then - GRUB_IMAGE="grub-efi-bootx64.efi" - DEST_IMAGE="bootx64.efi" + if [ -n "${MLPREFIX}" ]; then + if [ "${TARGET_ARCH_MULTILIB_ORIGINAL}" = "x86_64" ]; then + GRUB_IMAGE="grub-efi-bootx64.efi" + DEST_IMAGE="bootx64.efi" + fi + else + if [ "${TARGET_ARCH}" = "x86_64" ]; then + GRUB_IMAGE="grub-efi-bootx64.efi" + DEST_IMAGE="bootx64.efi" + fi fi install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}/${DEST_IMAGE} EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')