[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