Bug 10016 - Fail to build linux-yocto for custom qemumips64 bsp with yocto-bsp
Summary: Fail to build linux-yocto for custom qemumips64 bsp with yocto-bsp
Status: RESOLVED FIXED
Alias: None
Product: Meta-yocto
Classification: Build System, Metadata & Runtime
Component: meta-yocto (show other bugs)
Version: 2.2
Hardware: x86 Multiple
: Medium normal
Target Milestone: 2.2 M3
Assignee: Bruce Ashfield
QA Contact: Yi Zhao
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-07-25 09:27 UTC by Yi Zhao
Modified: 2016-09-09 19:12 UTC (History)
8 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: Regression (Used to work)
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
log.do_package_qa (1.20 KB, application/octet-stream)
2016-07-25 09:27 UTC, Yi Zhao
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yi Zhao 2016-07-25 09:27:27 UTC
Created attachment 3313 [details]
log.do_package_qa

Git rev: master/36feb38045b7a2af86ece147fec54b0db3bf491f

Host OS: Ubuntu 16.04 x86_64

Steps:
1. Following the https://wiki.yoctoproject.org/wiki/Transcript:_Using_the_Yocto_BSP_tools_to_create_a_qemu_BSP to create a myqemumips64 layer:

$ yocto-bsp create myqemumips64 qemu
Checking basic git connectivity...
Done.

Which qemu architecture would you like to use? [default: i386]
	1) i386    (32-bit)
	2) x86_64  (64-bit)
	3) ARM     (32-bit)
	4) PowerPC (32-bit)
	5) MIPS    (32-bit)
	6) MIPS64  (64-bit)
6
Would you like to use the default (4.4) kernel? (y/n) [default: y] 
Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y] 
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-4.4.git...
Please choose a machine branch to base this BSP on: [default: standard/base]
	1) standard/arm-versatile-926ejs
	2) standard/base
	3) standard/beaglebone
	4) standard/edgerouter
	5) standard/fsl-mpc8315e-rdb
	6) standard/mti-malta32
	7) standard/mti-malta64
	8) standard/qemuarm64
	9) standard/qemuppc
7
Would you like SMP support? (y/n) [default: y] 
Does your BSP have a touchscreen? (y/n) [default: n] 
Does your BSP have a keyboard? (y/n) [default: y] 

New qemu BSP created in meta-myqemumips64

2. Set the MAHCINE="myqemumips64" and add the meta-myqemumips64 layer to conf/bblayers.conf

3. Run bitbake core-image-minimal

$ bitbake core-image-minimal

Error message:

Loading cache: 100% |##################################################################################################################################| Time: 0:00:00
Loaded 1313 entries from dependency cache.
Parsing recipes: 100% |################################################################################################################################| Time: 0:00:20
Parsing of 865 .bb files complete (864 cached, 1 parsed). 1313 targets, 77 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.31.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-16.04"
TARGET_SYS        = "mips64-poky-linux"
MACHINE           = "myqemumips64"
DISTRO            = "poky"
DISTRO_VERSION    = "2.1+snapshot-20160725"
TUNE_FEATURES     = "n64 bigendian fpu-hard"
TARGET_FPU        = ""
meta              
meta-poky         
meta-yocto-bsp    
meta-myqemumips64 = "master:36feb38045b7a2af86ece147fec54b0db3bf491f"

Initialising tasks: 100% |#############################################################################################################################| Time: 0:00:04
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: linux-yocto-4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.1 do_package_qa: QA Issue: Bit size did not match (64 to 32) linux-yocto on work/myqemumips64-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.1/packages-split/kernel-vmlinux/boot/vmlinux-4.4.15-yocto-standard [arch]
ERROR: linux-yocto-4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.1 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: linux-yocto-4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.1 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /buildarea1/poky/build-1/tmp/work/myqemumips64-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.1/temp/log.do_package_qa.16717
ERROR: Task /buildarea1/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb:do_package_qa (/buildarea1/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb:do_package_qa) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1342 tasks of which 8 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /buildarea1/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb:do_package_qa
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.


I attached the full log for log.do_package_qa
Comment 1 Yi Zhao 2016-07-26 08:51:11 UTC
This issue also happens on qemux86:
 
ERROR: linux-yocto-4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.8 do_package_qa: QA Issue: Architecture did not match (3 to 62) on work/myqemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.8/packages-split/kernel-vmlinux/boot/vmlinux-4.4.15-yocto-standard [arch]
ERROR: linux-yocto-4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.8 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: linux-yocto-4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.8 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /buildarea/jenkins-yocto/workspace/Yocto2.2-yocto-bsp_create_qemu_bsp/build_1/tmp/work/myqemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4789b41c56_ddab242999-r0.8/temp/log.do_package_qa.32627
ERROR: Task /buildarea/jenkins-yocto/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb:do_package_qa (/buildarea/jenkins-yocto/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb:do_package_qa) failed with exit code '1'
Comment 2 Bruce Ashfield 2016-07-26 12:59:40 UTC
I already sent a fix for this to the oe-core mailing list.

This is the kernel-cache commit that fixes the issue:

commit 15a0432f95fd8409daa9b7169ea32cf7490e5dfe
Author: Bruce Ashfield <bruce.ashfield@windriver.com>
Date:   Mon Jul 11 13:40:13 2016 -0400

    common-pc: enforce 32 bit
    
    ARCH=x86 defaults to 64 bit on modern kernels. So we need to
    explicitly disable 64bit in common-pc if we want a 32bit build
    (common-pc builds with ARCH=x86, not ARCH=i386)
    
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

:100644 100644 d6302a63dfaa... 70df605fe41c... M        bsp/common-pc/common-pc-cpu.cfg