[OE-core] [morty][PATCH v2] qemux86: wic: Add MLPREFIX to syslinux
Ovidiu Panait
ovidiu.panait at windriver.com
Mon Sep 17 07:34:40 UTC 2018
On 14.09.2018 16:32, Martin Jansa wrote:
> On Fri, Sep 14, 2018 at 04:03:10PM +0300, Ovidiu Panait wrote:
>> Fix the following do_image_wic failure for lib32-core-image-minimal:
>> | DEBUG: Executing python function set_image_size
>> | DEBUG: Python function set_image_size finished
>> | DEBUG: Executing shell function do_image_wic
>> | Error: Please build syslinux first
>>
>> Test case:
>> MACHINE ?= "qemux86-64"
>>
>> require conf/multilib.conf
>> MULTILIBS = "multilib:lib32"
>> DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
>>
>> IMAGE_FSTYPES_append = " wic wic.bmap"
>>
>> $ bitbake lib32-core-image-minimal
>>
>> Currently, syslinux gets built instead of lib32-syslinux, so do_image_wic
>> doesn't find the right files into tmp/sysroots/lib32-qemux86-64 sysroot.
>>
>> Pyro and later releases are not affected by this issue because they are
>> based on Recipe Specific Sysroot, so syslinux binaries end up in the
>> right place.
> How does RSS help with this issue? It still builds the wrong version of
> syslinux, doesn't it?
Hi,
It seems that do_image_wic needs some files that are independent of the
architecture syslinux is built for.
$ cat scripts/lib/wic/plugins/source/bootimg-pcbios.py
...
cmds = ("install -m 0644 %s/bzImage %s/vmlinuz" %
(staging_kernel_dir, hdddir),
"install -m 444 %s/syslinux/ldlinux.sys %s/ldlinux.sys" %
(bootimg_dir, hdddir),
"install -m 0644 %s/syslinux/vesamenu.c32
%s/vesamenu.c32" %
(bootimg_dir, hdddir),
"install -m 444 %s/syslinux/libcom32.c32 %s/libcom32.c32" %
(bootimg_dir, hdddir),
"install -m 444 %s/syslinux/libutil.c32 %s/libutil.c32" %
(bootimg_dir, hdddir))
...
These files are provided by both syslinux and lib32-syslinux, but before
RSS, they will be present in the 64bit sysroot, not the lib32 one, so
wic won't find them when building lib32-core-image-minimal.
With RSS, all binaries are in the same sysroot directory:
$ ls -1
tmp/work/qemux86_64-pokymllib32-linux/lib32-core-image-minimal/1.0-r0/lib32-recipe-sysroot/usr/share/syslinux
...
ldlinux.sys
libcom32.c32
libutil.c32
vesamenu.c32
...
Thanks,
Ovidiu
>> Signed-off-by: Ovidiu Panait <ovidiu.panait at windriver.com>
>> ---
>> meta/conf/machine/qemux86-64.conf | 2 +-
>> meta/conf/machine/qemux86.conf | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf
>> index 4f30033e51..e093078d9d 100644
>> --- a/meta/conf/machine/qemux86-64.conf
>> +++ b/meta/conf/machine/qemux86-64.conf
>> @@ -33,4 +33,4 @@ MACHINE_FEATURES += "x86"
>> MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
>>
>> WKS_FILE ?= "directdisk.wks"
>> -do_image_wic[depends] += "syslinux:do_build syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
>> +do_image_wic[depends] += "${MLPREFIX}syslinux:do_build syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
>> diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf
>> index e232947aee..29897aaaaf 100644
>> --- a/meta/conf/machine/qemux86.conf
>> +++ b/meta/conf/machine/qemux86.conf
>> @@ -32,4 +32,4 @@ MACHINE_FEATURES += "x86"
>> MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
>>
>> WKS_FILE = "directdisk.wks"
>> -do_image_wic[depends] += "syslinux:do_build syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
>> +do_image_wic[depends] += "${MLPREFIX}syslinux:do_build syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
>> --
>> 2.17.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list