[OE-core] [RFC][PATCH] qemu.bbclass: add -r ${OLDEST_KERNEL} parameter

Martin Jansa martin.jansa at gmail.com
Sat Aug 16 18:22:56 UTC 2014


On Wed, Jul 30, 2014 at 06:04:36PM +0200, Martin Jansa wrote:
> * in some cases (e.g. with external toolchain which doesn't respect our
>   reasonably old version set in OLDEST_KERNEL) it's possible to have libc
>   which requires newer kernel than what we have on builders, qemu supports
>   -r param to use different uname than what's returned by host system.
> * change qemu_run_binary to pass -r ${OLDEST_KERNEL} and add the same to
>   QEMU_OPTIONS which are used by qemuwrapper-cross
> * maybe we should eventually convert all qemu_run_binary usages always include
>   qemuwrapper-cross dependency and always call qemu through that (it
>   seems very strange that qemu_target_binary is called from qemuwrapper
>   and for allarch recipes it can return qemu-allarch as qemu binary).
> 
>   qemu_run_binary is used by:
>   meta/classes/gtk-immodules-cache.bbclass:            ${@qemu_run_binary(d, '$D', '${bindir}/gtk-query-immodules-$maj_ver.0')} \
>   meta/classes/qemu.bbclass:def qemu_run_binary(data, rootfs_path, binary):
>   meta/recipes-core/systemd/systemd_213.bb:         ${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \
>   meta/recipes-graphics/pango/pango.inc:    ${@qemu_run_binary(d, '$D','${bindir}/${MLPREFIX}pango-querymodules')} \
> 
>   and qemuwrapper directly by:
>   scripts/postinst-intercepts/update_font_cache:PSEUDO_UNLOAD=1 qemuwrapper -L $D -E LD_LIBRARY_PATH=$D/${libdir}:$D/${base_libdir}\
>   scripts/postinst-intercepts/update_pixbuf_cache:PSEUDO_UNLOAD=1 qemuwrapper -L $D -E LD_LIBRARY_PATH=$D/${libdir}:$D/${base_libdir}\

no comment?

> 
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/classes/qemu.bbclass | 25 +++++++++++++------------
>  1 file changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
> index abee8aa..b2cf85d 100644
> --- a/meta/classes/qemu.bbclass
> +++ b/meta/classes/qemu.bbclass
> @@ -29,19 +29,20 @@ def qemu_run_binary(data, rootfs_path, binary):
>  
>      libdir = rootfs_path + data.getVar("libdir", False)
>      base_libdir = rootfs_path + data.getVar("base_libdir", False)
> +    oldest_kernel = data.getVar("OLDEST_KERNEL", True)
>  
> -    return "PSEUDO_UNLOAD=1 " + qemu_binary + " -L " + rootfs_path\
> +    return "PSEUDO_UNLOAD=1 " + qemu_binary + " -r " + oldest_kernel + " -L " + rootfs_path\
>              + " -E LD_LIBRARY_PATH=" + libdir + ":" + base_libdir + " "\
>              + rootfs_path + binary
>  
> -QEMU_OPTIONS = ""
> -QEMU_OPTIONS_iwmmxt    = "-cpu pxa270-c5"
> -QEMU_OPTIONS_armv6     = "-cpu arm1136"
> -QEMU_OPTIONS_armv7a    = "-cpu cortex-a8"
> -QEMU_OPTIONS_e500v2    = "-cpu e500v2"
> -QEMU_OPTIONS_e500mc    = "-cpu e500mc"
> -QEMU_OPTIONS_e5500     = "-cpu e5500"
> -QEMU_OPTIONS_e5500-64b = "-cpu e5500"
> -QEMU_OPTIONS_e6500     = "-cpu e6500"
> -QEMU_OPTIONS_e6500-64b = "-cpu e6500"
> -QEMU_OPTIONS_ppc7400   = "-cpu 7400"
> +QEMU_OPTIONS = "-r ${OLDEST_KERNEL}"
> +QEMU_OPTIONS_append_iwmmxt    = " -cpu pxa270-c5"
> +QEMU_OPTIONS_append_armv6     = " -cpu arm1136"
> +QEMU_OPTIONS_append_armv7a    = " -cpu cortex-a8"
> +QEMU_OPTIONS_append_e500v2    = " -cpu e500v2"
> +QEMU_OPTIONS_append_e500mc    = " -cpu e500mc"
> +QEMU_OPTIONS_append_e5500     = " -cpu e5500"
> +QEMU_OPTIONS_append_e5500-64b = " -cpu e5500"
> +QEMU_OPTIONS_append_e6500     = " -cpu e6500"
> +QEMU_OPTIONS_append_e6500-64b = " -cpu e6500"
> +QEMU_OPTIONS_append_ppc7400   = " -cpu 7400"
> -- 
> 2.0.2
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20140816/7e0f13fd/attachment-0002.sig>


More information about the Openembedded-core mailing list