Hi all

I am trying to get a custom kernel recipe to work and it fails by
issuing a weird make command - the command contains the arguments one
would pass to gcc when cross-compiling. Bitbake spits a NOTE about the
error that looks like the following:

----------------------
ERROR: linux-vortex86-4.14.65-r0 do_compile: oe_runmake failed
ERROR: linux-vortex86-4.14.65-r0 do_compile: Function failed: do_compile (log 
file is located at 
/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/temp/log.do_compile.13645)
ERROR: Logfile of failure stored in: 
/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/temp/log.do_compile.13645
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 8 HOSTCC=gcc  
-isystem/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native/usr/include
 -O2 -pipe 
-L/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native/usr/lib
 
-L/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native/lib
 
-Wl,-rpath-link,/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native/usr/lib
 
-Wl,-rpath-link,/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native/lib
 
-Wl,-rpath,/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native/usr/lib
 
-Wl,-rpath,/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native/lib
 -Wl,-O1 -Wl,--all
 ow-shlib-undefined 
-Wl,--dynamic-linker=/home/david/yocto/kraemer-ng/poky/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
 HOSTCPP=gcc  -E zImage CC=i586-poky-linux-gcc  -fuse-ld=bfd 
-fdebug-prefix-map=/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0=/usr/src/debug/linux-vortex86/4.14.65-r0
 
-fdebug-prefix-map=/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot=
 
-fdebug-prefix-map=/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/recipe-sysroot-native=
  
-fdebug-prefix-map=/home/david/yocto/kraemer-ng/poky/build/tmp/work-shared/vortex86/kernel-source=/usr/src/kernel
 
-ffile-prefix-map=/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/git=/kernel-source/
  LD=i586-poky-linux-ld.bfd
|   GEN     ./Makefile
| scripts/kconfig/conf  --silentoldconfig Kconfig
| make[2]: *** No rule to make target 'zImage'.  Stop.
| make[1]: *** [Makefile:146: sub-make] Error 2
| make: *** [Makefile:24: __sub-make] Error 2
| ERROR: oe_runmake failed
| WARNING: 
/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/temp/run.do_compile.13645:1
 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at 
/home/david/yocto/kraemer-ng/poky/build/tmp/work/vortex86-poky-linux/linux-vortex86/4.14.65-r0/temp/log.do_compile.13645)
ERROR: Task 
(/home/david/yocto/kraemer-ng/poky/build/../meta-vortex86/recipes-kernel/linux/linux-vortex86_4.14.65-1.bb:do_compile)
 failed with exit code '1'
NOTE: Tasks Summary: Attempted 513 tasks of which 509 didn't need to be rerun 
and 1 failed.
----------------------

We have a device with a vortex86 (mainly i586 or i686 without CMOV)
processor why I created a corresponding machine. The machine is defined
with tune-i586.inc. The machine definition seems to be fine, the cross
compiler gets built and many packages build correctly for the target
system. This is the machine configuration:

----------------------
require conf/machine/include/tune-i586.inc

TARGET_ARCH = "i586"
PREFERRED_PROVIDER_virtual/kernel = "linux-vortex86"
MACHINE_FEATURES = "ext2 irda keyboard pcbios pci rtc screen serial touchscreen 
usbhost"

TARGET_FPU ?= "soft"
X86ARCH32 ?= "i586"

TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"

TUNECONFLICTS[m32] = "m64 mx32"
TUNE_ARCH = "i586"

GLIBC_ADDONS = "nptl"

SERIAL_CONSOLES = "115200;ttymxc2"

IMAGE_FSTYPES += "wic wic.bmap"
WKS_FILE ?= "kraemer.wks"
do_image_wic[depends] += "gptfdisk-native:do_populate_sysroot"
do_image_wic[recrdeptask] += "do_bootimg"
----------------------

I guess the problem lies in the kernel recipe, since everything else
seems to be fine. I started with a recipe that was shown on the
presentation "Working with the Linux Kernel in the Yocto Project" that
was published in March this year:

https://www.youtube.com/watch?v=tZACGS5nQxw

This didn't work though and I started to search the documentation. I
finally found:

https://www.yoctoproject.org/docs/1.6.1/kernel-dev/kernel-dev.html#working-with-your-own-sources

So I went ahead and modified until I got the current version of the
recipe:

----------------------
SECTION = "kernel"
DESCRIPTION = "Linux kernel for the Vortex86 processor"
LICENSE = "GPLv2"
FILESEXTRAPATHS_prepend = "${THISDIR}/linux-vortex86:"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"

require recipes-kernel/linux/linux-yocto.inc
inherit kernel

SRCBRANCH = "linux-4.14.y"
SRCREV = "80a4edf7eba019147d93e60843bd2dda66526d5c"

SRC_URI = 
"git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git;branch=${SRCBRANCH}
 \
           file://defconfig \
           file://bootlogo.ppm"

LINUX_VERSION ?= "4.14.65"

S = "${WORKDIR}/git"
PV = "4.14.65"
PR = "r0"

COMPATIBLE_MACHINE = "vortex86"
----------------------

Does anybody know what is wrong with that recipe? Why does bitbake for
building the kernel call make with arguments for gcc?

Thanks for any hints!
Best Regards
Dave
-- 
_______________________________________________
linux-yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to