[meta-freescale] Invalid instruction with qemu-ppc64 for ppc64e6500

Zhenhua Luo zhenhua.luo at nxp.com
Tue Nov 1 22:46:42 PDT 2016


Yi, 

I did a clean build and don't meet any problem, the following is my step and log, is there any difference between your build and mine? 

Steps:
    * git clone git://git.yoctoproject.org/poky -b morty 
    * cd poky
    * git clone git://git.yoctoproject.org/meta-fsl-ppc -b morty
    * . ./oe-init-build-env t4240rdb-64b
    * Edit conf/bblayers.conf to add meta-fsl-ppc layer in BBLAYERS
    * MACHINE= t4240rdb-64b bitbake core-image-sato

Log:
$ bitbake core-image-sato -k
Parsing recipes: 100% |######################################################################################################| Time: 0:00:21
Parsing of 908 .bb files complete (0 cached, 908 parsed). 2274 targets, 253 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.32.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-16.04"
TARGET_SYS        = "powerpc64-poky-linux"
MACHINE           = "t4240rdb-64b"
DISTRO            = "poky"
DISTRO_VERSION    = "2.2"
TUNE_FEATURES     = "m64 fpu-hard e6500 altivec"
TARGET_FPU        = "hard"
meta              
meta-poky         
meta-yocto-bsp    = "morty:dc8508f609974cc99606b9042bfa7f870ce80228"
meta-fsl-ppc      = "morty:87efefc0687d78e52e9e1e6945ac28a15379287e"

NOTE: Fetching uninative binary shim from http://downloads.yoctoproject.org/releases/uninative/1.4/x86_64-nativesdk-libc.tar.bz2;sha256sum=101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca
--2016-10-31 23:46:54--  http://downloads.yoctoproject.org/releases/uninative/1.4/x86_64-nativesdk-libc.tar.bz2
Resolving downloads.yoctoproject.org (downloads.yoctoproject.org)... 198.145.20.127
Connecting to downloads.yoctoproject.org (downloads.yoctoproject.org)|198.145.20.127|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2473216 (2.4M) [application/octet-stream]
Saving to: \u2018/home/bjsimics/workspace/sources//uninative/101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca/x86_64-nativesdk-libc.tar.bz2\u2019


2016-10-31 23:47:03 (270 KB/s) - \u2018/home/bjsimics/workspace/sources//uninative/101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca/x86_64-nativesdk-libc.tar.bz2\u2019 saved [2473216/2473216]

Initialising tasks: 100% |###################################################################################################| Time: 0:00:18
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_pixbuf_cache' failed (exit code: 127)! See log for details!
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: libgdk-pixbuf-2.0-loader-jpeg libgdk-pixbuf-2.0-loader-gif libgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-xpm
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_font_cache' failed (exit code: 127)! See log for details!
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: liberation-fonts
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_gio_module_cache' failed (exit code: 127)! See log for details!
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: libglib-2.0-0 glib-networking gconf
WARNING: core-image-sato-1.0-r0 do_rootfs: [log_check] core-image-sato: found 6 warning messages in the logfile:
[log_check] WARNING: The postinstall intercept hook 'update_pixbuf_cache' failed (exit code: 127)! See log for details!
[log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: libgdk-pixbuf-2.0-loader-jpeg libgdk-pixbuf-2.0-loader-gif libgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-xpm
[log_check] WARNING: The postinstall intercept hook 'update_font_cache' failed (exit code: 127)! See log for details!
[log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: liberation-fonts
[log_check] WARNING: The postinstall intercept hook 'update_gio_module_cache' failed (exit code: 127)! See log for details!
[log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: libglib-2.0-0 glib-networking gconf

NOTE: Tasks Summary: Attempted 5541 tasks of which 15 didn't need to be rerun and all succeeded.

Summary: There were 7 WARNING messages shown.


Best Regards, 

Zhenhua

> -----Original Message-----
> From: Yi Zhao [mailto:yi.zhao at windriver.com]
> Sent: Wednesday, November 02, 2016 1:06 PM
> To: Zhenhua Luo <zhenhua.luo at nxp.com>
> Cc: Kevin Hao <kexin.hao at windriver.com>; meta-freescale at yoctoproject.org
> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
> 
> Hi Zhenhuan,
> 
> 
> 在 2016年11月02日 11:50, Zhenhua Luo 写道:
> > Hi Yi,
> >
> > Due to the ppc64 support limitation of qemu-native, please don't add the
> following line in local.conf, the core-image-sato can be built with default
> configuration.
> >
> > QEMU_TARGETS_append = " ppc64"
> 
> Remove this line would also generate a failure for  running intercept
> scripts:
> tmp/sysroots/p5040ds-64b/usr/bin/crossscripts/qemuwrapper: line 2:
> qemu-ppc64: command not found
> 
> Regrads,
> Yi
> 
> >
> >
> > Best Regards,
> >
> > Zhenhua
> >
> >> -----Original Message-----
> >> From: Yi Zhao [mailto:yi.zhao at windriver.com]
> >> Sent: Tuesday, November 01, 2016 5:40 PM
> >> To: Zhenhua Luo <zhenhua.luo at nxp.com>;
> >> meta-freescale at yoctoproject.org
> >> Cc: Kevin Hao <kexin.hao at windriver.com>
> >> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
> >>
> >> Hi Zhenhua,
> >>
> >> I use morty branch for both poky and meta-fsl-ppc, machine is t4240rdb-64b.
> >>
> >> Add the following line in conf/local.conf:
> >>
> >> QEMU_TARGETS_append = " ppc64"
> >>
> >> Then run bitbake core-image-sato
> >>
> >> You could check the log in
> >> tmp/work/t4240rdb_64b-poky-linux/core-image-sato/1.0-
> >> r0/temp/log.do_rootfs
> >>
> >>
> >> Thanks,
> >>
> >> Yi
> >>
> >>
> >> 在 2016年10月31日 21:58, Zhenhua Luo 写道:
> >>> Hi Yi,
> >>>
> >>> Due to ppce6500 is not supported by qemu-native, the patch is a
> >>> workaround
> >> for the limitation.
> >>> May I know which version of poky and meta-fsl-ppc can reproduce the
> >> problem?
> >>>
> >>> Best Regards,
> >>>
> >>> Zhenhua
> >>>
> >>>> -----Original Message-----
> >>>> From: Yi Zhao [mailto:yi.zhao at windriver.com]
> >>>> Sent: Monday, October 31, 2016 5:13 PM
> >>>> To: meta-freescale at yoctoproject.org
> >>>> Cc: Zhenhua Luo <zhenhua.luo at nxp.com>; Kevin Hao
> >>>> <kexin.hao at windriver.com>
> >>>> Subject: Invalid instruction with qemu-ppc64 for ppc64e6500
> >>>>
> >>>> Hi folks,
> >>>>
> >>>> I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"),
> >>>> when do_rootfs tried to run intercept scripts, I got an invalid
> >>>> instruction
> >>>> error:
> >>>>
> >>>> NOTE: Running intercept scripts:
> >>>> NOTE: > Executing update_gio_module_cache intercept ...
> >>>> Invalid instruction
> >>>> NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000
> XER
> >>>> 0000000000000000 CPU#0
> >>>> MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000
> >> iidx 0
> >>>> didx 0 TB 00510390 2192111342502858 [snip]
> >>>> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
> >>>> /buildarea/build-nxp/tmp/sysroots/nxp-
> >>>> t4xxx/usr/bin/crossscripts/qemuwrapper:
> >>>> line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0
> >>>> -cpu
> >> e500mc
> >>>> "$@"
> >>>> WARNING: The postinstall intercept hook 'update_gio_module_cache'
> >>>> failed (exit code: 132)! See log for details!
> >>>> WARNING: The postinstalls for the following packages will be
> >>>> postponed for first boot: libglib-2.0-0
> >>>>
> >>>> The issue is most likely introduced by the commit:
> >>>>
> >>>> commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
> >>>> Author: Zhenhua Luo <zhenhua.luo at nxp.com>
> >>>> Date:   Thu Apr 14 17:26:44 2016 +0800
> >>>>
> >>>>        meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to
> >>>> e500mc
> >>>>
> >>>>        The e5500 and e6500 cpu types are not supported by native
> >>>> qemu, set the value
> >>>>        of -cpu to e500mc. Without this change, build will fail for
> >>>> packages which
> >> use
> >>>>        qemuwrapper in compile phase due to the following error.
> >>>>        | Unable to find CPU definition
> >>>>
> >>>>        e.g. gobject-introspection
> >>>>
> >>>>        (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)
> >>>>
> >>>>        Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
> >>>>        Signed-off-by: Richard Purdie
> >>>> <richard.purdie at linuxfoundation.org>
> >>>>
> >>>> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
> >>>> index f3d3be8..75739db 100644
> >>>> --- a/meta/classes/qemu.bbclass
> >>>> +++ b/meta/classes/qemu.bbclass
> >>>> @@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] +=
> >>>> "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
> >>>>
> >>>>     QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
> >>>>     QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
> >>>> -QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
> >>>> -QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
> >>>> -QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
> >>>> -QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
> >>>> +QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
> >>>> +QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
> >>>> +QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
> >>>> +QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
> >>>>     QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
> >>>>
> >>>>
> >>>> For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc
> >>>> is 32bit,
> >> so
> >>>> when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu e500mc
> >> "$@"
> >>>> would cause this failure.
> >>>> Since the qemu native still doesn't support e6500 cpu, I just
> >>>> remove the
> >>>> line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the
> >>>> qemuwrapper could work.
> >>>>
> >>>> Is it a appropriate method to solve this issue ?  I'm not familiar
> >>>> with ppc, so
> >> don't
> >>>> know if this change could break something else?
> >>>>
> >>>> Thanks,
> >>>> Yi
> >>>>



More information about the meta-freescale mailing list