Skip to contentSkip to conversation

grub-efi.bbclass: take into consideration of multilib

PATCH New Chen Qi 1 participant 2 messages Jul 4, 2019

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

cover grub-efi.bbclass: take into consideration of multilib

*** BLURB HERE ***
The following changes since commit 4fd9ee4670293632cc0ca1e64b8833eb6014435d:

  bitbake: bitbake: Add --skip-setscene option (2019-07-03 17:00:57 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib ChenQi/grub-efi-multilib
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/grub-efi-multilib

Chen Qi (1):
grub-efi.bbclass: take into consideration of multilib

 meta/classes/grub-efi.bbclass | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/1 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.

---
 meta/classes/grub-efi.bbclass | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
meta/classes/grub-efi.bbclass +10 -3
index 90badc0..ec692f1 100644
@@ -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')
Signature · 1 line
1.9.1