[OE-core] [PATCH 1/1] image_types_wic: set consistent staging dirs

kai.kang at windriver.com kai.kang at windriver.com
Fri Oct 12 08:57:11 UTC 2018


From: Kai Kang <kai.kang at windriver.com>

When build wic image with multilib enabled by following config:

  MACHINE = "qemux86-64"
  require conf/multilib.conf
  MULTILIBS = "multilib:lib32"
  DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

  IMAGE_FSTYPES = "wic"

it fails to build lib32 image such as lib32-core-image-minimal:

| DEBUG: Executing shell function do_image_wic
| INFO: Creating image(s)...
|
| ERROR: Couldn't find correct bootimg_dir, exiting

Dependency syslinux is not expand to lib32-syslinux when multilib is
enabled. It is populated to ${WORKDIR}/recipe-sysroot, but script wic
searches syslinux in ${WORKDIR}/lib32-recipe-sysroot and causes error.

Set consistent staging dirs for wic to fix the issue.

Signed-off-by: Kai Kang <kai.kang at windriver.com>
---
 meta/classes/image_types_wic.bbclass | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass
index 5b40a9e919..402920805d 100644
--- a/meta/classes/image_types_wic.bbclass
+++ b/meta/classes/image_types_wic.bbclass
@@ -54,6 +54,11 @@ WKS_FILE_DEPENDS ??= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS
 
 DEPENDS += "${@ '${WKS_FILE_DEPENDS}' if d.getVar('USING_WIC') else '' }"
 
+# Dependency syslinux is not expanded when multilib is enabled, consistent staging dirs are needed
+RECIPE_SYSROOT = "${WORKDIR}/recipe-sysroot"
+STAGING_DIR_HOST = "${WORKDIR}/recipe-sysroot"
+STAGING_DIR_TARGET = "${WORKDIR}/recipe-sysroot"
+
 python do_write_wks_template () {
     """Write out expanded template contents to WKS_FULL_PATH."""
     import re
-- 
2.18.0




More information about the Openembedded-core mailing list