agherzan / meta-raspberrypi

Yocto/OE BSP layer for the Raspberry Pi boards
https://www.yoctoproject.org/
MIT License
520 stars 407 forks source link

raspberrypi4-64 kernel #539

Closed ghost closed 4 years ago

ghost commented 4 years ago

Raspberrypi4-64 kernel compile failure

Steps to reproduce the issue: local.conf

MACHINE = "raspberrypi4-64"

DL_DIR = "${HOME}/ssd/oe-sources"
SSTATE_DIR = "${HOME}/ssd/sstate-cache"
TMPDIR = "${HOME}/ssd/tmp-warrior"

GPU_MEM = "256"
ENABLE_UART = "1"
RPI_USE_U_BOOT = "1"
LICENSE_FLAGS_WHITELIST = "commercial"
IMAGE_FSTYPES = "rpi-sdimg"
IMAGE_INSTALL_append = " packagegroup-core-x11-base mesa-demos kmscube cinematicexperience
DISTRO_FEATURES_append = " opengl"
DISTRO_FEATURES_append = " x11"
DISTRO_FEATURES_remove = " wayland"
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"

DISTRO ?= "poky"
PACKAGE_CLASSES ?= "package_rpm"
USER_CLASSES ?= "image-mklibs image-prelink"
DISABLE_OVERSCAN = "1"
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "usermod -P secret root; "

bblayers.conf


BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
    ${HOME}/poky-warrior/meta \
    ${HOME}/poky-warrior/meta-poky \
    ${HOME}/poky-warrior/meta-openembedded/meta-xfce \
    ${HOME}/poky-warrior/meta-openembedded/meta-gnome \
    ${HOME}/poky-warrior/meta-openembedded/meta-oe \
    ${HOME}/poky-warrior/meta-openembedded/meta-multimedia \
    ${HOME}/poky-warrior/meta-openembedded/meta-networking \
    ${HOME}/poky-warrior/meta-openembedded/meta-perl \
    ${HOME}/poky-warrior/meta-openembedded/meta-python \
    ${HOME}/poky-warrior/meta-qt5 \
    ${HOME}/poky-warrior/meta-raspberrypi \
    ${HOME}/rpi/meta-rpi \
    ${HOME}/rpi/meta-web-kiosk \
    ${HOME}/rpi/meta-webkit \
"
bitbake core-image-base
Build Configuration:
BB_VERSION           = "1.42.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "aarch64-poky-linux"
MACHINE              = "raspberrypi4-64"
DISTRO               = "poky"
DISTRO_VERSION       = "2.7.2"
TUNE_FEATURES        = "aarch64 cortexa72 crc crypto"
TARGET_FPU           = ""
meta
meta-poky            = "warrior:023ff85a9ae94331926e923b346fd8a349881e63"
meta-xfce
meta-gnome
meta-oe
meta-multimedia
meta-networking
meta-perl
meta-python          = "warrior:a24acf94d48d635eca668ea34598c6e5c857e3f8"
meta-qt5             = "warrior:171871280307126c94faeeb90fb635a26495459d"
meta-raspberrypi     = "warrior:5cb49f4d76a311201bd36cf6538e23a59e3d8030"
meta-rpi             = "warrior:0fc85eb7465f674c789431a7d1861b046308dffb"
meta-web-kiosk       = "master:7bf1e5b2cffb58d521353b00a1a3049c520875ed"
meta-webkit          = "master:ecb7da9fc0b64508056b5407c291bbf7772dd716"

Initialising tasks: 100% |###############################| Time: 0:00:02
Sstate summary: Wanted 826 Found 3 Missed 823 Current 936 (0% match, 53% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: linux-raspberrypi-1_4.19.89+gitAUTOINC+edc6ef437b-r0 do_compile: oe_runmake failed
ERROR: linux-raspberrypi-1_4.19.89+gitAUTOINC+edc6ef437b-r0 do_compile: Function failed: do_compile (log file is located at /home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/temp/log.do_compile.19899)
ERROR: Logfile of failure stored in: /home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/temp/log.do_compile.19899
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 16 HOSTCC=gcc  -isystem/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/include -O2 -pipe -L/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/lib                         -L/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/lib                         -Wl,-rpath,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/lib                         -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/ubuntu/ssd/tmp-warrior/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 HOSTCPP=gcc  -E Image CC=aarch64-poky-linux-gcc   -fuse-ld=bfd -fmacro-prefix-map=/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0=/usr/src/debug/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0                      -fdebug-prefix-map=/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0=/usr/src/debug/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0                      -fdebug-prefix-map=/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native=  -fdebug-prefix-map=/home/ubuntu/ssd/tmp-warrior/work-shared/raspberrypi4-64/kernel-source=/usr/src/kernel  --sysroot=/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot   LD=aarch64-poky-linux-ld.bfd    --sysroot=/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot LOADADDR=0x00008000 DTC_FLAGS=-@ -H epapr
|   GEN     ./Makefile
| scripts/kconfig/conf  --syncconfig Kconfig
|   GEN     ./Makefile
|   Using /home/ubuntu/ssd/tmp-warrior/work-shared/raspberrypi4-64/kernel-source as source for kernel
|   CC      scripts/mod/devicetable-offsets.s
|   CC      scripts/mod/empty.o
|   MKELF   scripts/mod/elfconfig.h
|   HOSTCC  scripts/mod/sumversion.o
|   HOSTCC  scripts/mod/modpost.o
|   HOSTCC  scripts/mod/file2alias.o
|   HOSTLD  scripts/mod/modpost
|   CALL    /home/ubuntu/ssd/tmp-warrior/work-shared/raspberrypi4-64/kernel-source/scripts/checksyscalls.sh
|   CHK     include/generated/compile.h
| NOTE: make -j 16 HOSTCC=gcc  -isystem/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/include -O2 -pipe -L/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/lib                         -L/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/lib                         -Wl,-rpath,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/recipe-sysroot-native/lib                         -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/ubuntu/ssd/tmp-warrior/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 HOSTCPP=gcc  -E bcm2708-rpi-zero.dtb
|   GEN     ./Makefile
| scripts/kconfig/conf  --syncconfig Kconfig
|   CC      scripts/mod/empty.o
|   CC      scripts/mod/devicetable-offsets.s
|   MKELF   scripts/mod/elfconfig.h
|   HOSTCC  scripts/mod/modpost.o
|   HOSTCC  scripts/mod/file2alias.o
|   HOSTCC  scripts/mod/sumversion.o
|   HOSTLD  scripts/mod/modpost
| make[3]: *** No rule to make target 'arch/arm64/boot/dts/bcm2708-rpi-zero.dtb'.  Stop.
| arch/arm64/Makefile:132: recipe for target 'bcm2708-rpi-zero.dtb' failed
| make[2]: *** [bcm2708-rpi-zero.dtb] Error 2
| Makefile:146: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
| Makefile:24: recipe for target '__sub-make' failed
| make: *** [__sub-make] Error 2
| ERROR: oe_runmake failed
| WARNING: /home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/temp/run.do_compile.19899:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at /home/ubuntu/ssd/tmp-warrior/work/raspberrypi4_64-poky-linux/linux-raspberrypi/1_4.19.89+gitAUTOINC+edc6ef437b-r0/temp/log.do_compile.19899)
ERROR: Task (/home/ubuntu/poky-warrior/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2572 tasks of which 2213 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/ubuntu/poky-warrior/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb:do_compile
Summary: There were 2 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

Additional details (revisions used, host distro, etc.):

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic

The build failed while compiling the linux kernel. Should the device tree blob for bcm2708-rpi-zero really be compiled when compiling a kernel for the raspberrypi4? Im wondering why.

To be honest, does someone know how to fix that?

Im trying to build a working GPU accelerated x11 image for weeks now (With help of for example #476). Does someone have a working configuration to get it working? 32bit/64bit does not matter. If yes, why dont we add it to the repository as example image?

I really appreciate every hint i get.

With kind regards, Mia Metzler

agherzan commented 4 years ago

Yes. The build system compiles all the rpi dtbs. So that is expected. There was a change at some point where they renamed it from "0" to "zero". I'm wondering if that is the case here. have you tried to check it against zeus?

ghost commented 4 years ago

Im sorry that i wasted your time! I diged into the deep core of yocto today. I found out that some of my following layers must issue the problems id have:

With a bare metal yocto setup the compile process worked absolutely fine. I will dig deeper into it next week. I will try to commit patches to the given repositorys when i found the problem. (I guess its meta-rpi because of its linux-raspberrypi_4.19.bbappend)

But for now i will close this issue. Thank you very much for your help!

With kind regards, Mia