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