[yocto] How do I generate a dtb for my board support package?

Ayoub Zaki ayoub.zaki at googlemail.com
Thu Jan 25 05:20:01 PST 2018


On Thu, Jan 25, 2018 at 2:16 PM, Peter Spierenburg <
peter.spierenburg at nautel.com> wrote:

> I am trying to write a board support package for the adzs-sc589-ezlite
> board from Analog Devices, because AD only supplies a buildroot package,
> and I would prefer to use yocto.
>
>
> AD's buildroot produces a uImage kernel with dtb that is served to the
> board using tftp. The root file system is served to the board by nfs.
>
>
> I've begun working on my own bsp for this board. I have successfully
> booted and interacted with the board using buildroot's kernel and dtb
> combined with yocto's root filesystem.
>
>
> I'd now like to replace the buildroot kernel and dtb file with ones
> generated by yocto.
>
>
> My bsp layer is called meta-adzs-sc589-ezlite.
>
>
> The meta-adzs-sc589-ezlite/conf/machine/adzs-sc589-ezlite.conf contains:
>
>
>
> #@TYPE: Machine
> #@NAME: adzs-sc589-ezlite
>
> #@DESCRIPTION: Machine configuration for adzs-sc589-ezlite systems
>
>
> PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
> PREFERRED_VERSION_linux-yocto ?= "4.12%"
>
>
> require conf/machine/include/qemu.inc
> require conf/machine/include/tune-arm926ejs.inc
>
>
> KERNEL_IMAGETYPE = "uImage"
> KERNEL_EXTRA_ARGS += "LOADADDR=c2008000"
> KERNEL_DEVICETREE = "sc589-ezkit.dts"
>

should be here :

 KERNEL_DEVICETREE = "sc589-ezkit.dtb"


SERIAL_CONSOLE = "115200 ttyAMA0"
>
>
> and my meta-adzs-sc589-ezlite/recipes-kernel/linux/linux-
> yocto_4.12.bbappend
>
> FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
>
> PR := "${PR}.1"
>
> COMPATIBLE_MACHINE_adzs-sc589-ezlite = "adzs-sc589-ezlite"
>
>
> KERNEL_FEATURES_append_adzs-sc589-ezlite += " cfg/smp.scc"
>
> SRC_URI += "file://adzs-sc589-ezlite.scc \
>             file://adzs-sc589-ezlite.cfg \
>             file://adzs-sc589-ezlite-standard.scc \
>             file://adzs-sc589-ezlite-user-config.cfg \
>             file://adzs-sc589-ezlite-user-features.scc \
>             file://adzs-sc589-ezlite-user-patches.scc \
>             file://sc589-ezkit.dts \
>             file://sc58x.dtsi \
>            "
>
> # replace these SRCREVs with the real commit ids once you've had
> # the appropriate changes committed to the upstream linux-yocto repo
> SRCREV_machine_pn-linux-yocto_adzs-sc589-ezlite ?= "${AUTOREV}"
> SRCREV_meta_pn-linux-yocto_adzs-sc589-ezlite ?= "${AUTOREV}"
> #LINUX_VERSION = "4.10"
> #Remove the following line once AUTOREV is locked to a certain SRCREV
> KERNEL_VERSION_SANITY_SKIP = "1"
>
>
> However, when I perform a build, I get:
>
>
> ERROR: linux-yocto-4.12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1
> do_compile: oe_runmake failed
> ERROR: linux-yocto-4.12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1
> do_compile: Function failed: do_compile (log file is located at
> /home/user/work/sad-yocto/poky/build/tmp/work/adzs_
> sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_
> 8506961765-r0.1/temp/log.do_compile.28883)
> ERROR: Logfile of failure stored in: /home/user/work/sad-yocto/
> poky/build/tmp/work/adzs_sc589_ezlite-poky-linux-
> gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_
> 8506961765-r0.1/temp/log.do_compile.28883
> Log data follows:
> | DEBUG: Executing shell function do_compile
> | NOTE: make -j 4 HOSTCC=gcc  -isystem/home/user/work/sad-
> yocto/poky/build/tmp/work/adzs_sc589_ezlite-poky-linux-
> gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/usr/include
> -O2 -pipe -L/home/user/work/sad-yocto/poky/build/tmp/work/adzs_
> sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_
> 8506961765-r0.1/recipe-sysroot-native/usr/lib -L/home/user/work/sad-yocto/
> poky/build/tmp/work/adzs_sc589_ezlite-poky-linux-
> gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/lib
> -Wl,-rpath-link,/home/user/work/sad-yocto/poky/build/tmp/
> work/adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.
> 12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/usr/lib
> -Wl,-rpath-link,/home/user/work/sad-yocto/poky/build/tmp/
> work/adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.
> 12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/lib
> -Wl,-rpath,/home/user/work/sad-yocto/poky/build/tmp/work/
> adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+
> gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/usr/lib
> -Wl,-rpath,/home/user/work/sad-yocto/poky/build/tmp/work/
> adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+
> gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/lib -Wl,-O1
> HOSTCPP=gcc  -E uImage CC=arm-poky-linux-gnueabi-gcc  -mno-thumb-interwork
> -marm -fuse-ld=bfd -ffile-prefix-map=/home/user/
> work/sad-yocto/poky/build/tmp/work-shared/adzs-sc589-ezlite/kernel-source=/kernel-source/
> LD=arm-poky-linux-gnueabi-ld.bfd   LOADADDR=c2008000
> |   CHK     include/config/kernel.release
> |   Using /home/user/work/sad-yocto/poky/build/tmp/work-shared/
> adzs-sc589-ezlite/kernel-source as source for kernel
> |   GEN     ./Makefile
> |   CHK     include/generated/uapi/linux/version.h
> |   CHK     include/generated/utsrelease.h
> |   CHK     include/generated/timeconst.h
> |   CHK     include/generated/bounds.h
> |   CHK     include/generated/asm-offsets.h
> |   CALL    /home/user/work/sad-yocto/poky/build/tmp/work-shared/
> adzs-sc589-ezlite/kernel-source/scripts/checksyscalls.sh
> |   CHK     scripts/mod/devicetable-offsets.h
> |   CHK     include/generated/compile.h
> |   CHK     kernel/config_data.h
> |   Kernel: arch/arm/boot/Image is ready
> |   Kernel: arch/arm/boot/zImage is ready
> |   Kernel: arch/arm/boot/uImage is ready
> | NOTE: make -j 4 HOSTCC=gcc  -isystem/home/user/work/sad-
> yocto/poky/build/tmp/work/adzs_sc589_ezlite-poky-linux-
> gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/usr/include
> -O2 -pipe -L/home/user/work/sad-yocto/poky/build/tmp/work/adzs_
> sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_
> 8506961765-r0.1/recipe-sysroot-native/usr/lib -L/home/user/work/sad-yocto/
> poky/build/tmp/work/adzs_sc589_ezlite-poky-linux-
> gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/lib
> -Wl,-rpath-link,/home/user/work/sad-yocto/poky/build/tmp/
> work/adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.
> 12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/usr/lib
> -Wl,-rpath-link,/home/user/work/sad-yocto/poky/build/tmp/
> work/adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.
> 12.18+gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/lib
> -Wl,-rpath,/home/user/work/sad-yocto/poky/build/tmp/work/
> adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+
> gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/usr/lib
> -Wl,-rpath,/home/user/work/sad-yocto/poky/build/tmp/work/
> adzs_sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+
> gitAUTOINC+0d0f74b803_8506961765-r0.1/recipe-sysroot-native/lib -Wl,-O1
> HOSTCPP=gcc  -E sc589-ezkit.dts
> | make[2]: *** No rule to make target `sc589-ezkit.dts'.  Stop.
> | make[1]: *** [sub-make] Error 2
> | make: *** [__sub-make] Error 2
> | ERROR: oe_runmake failed
> | WARNING: exit code 1 from a shell command.
> | ERROR: Function failed: do_compile (log file is located at
> /home/user/work/sad-yocto/poky/build/tmp/work/adzs_
> sc589_ezlite-poky-linux-gnueabi/linux-yocto/4.12.18+gitAUTOINC+0d0f74b803_
> 8506961765-r0.1/temp/log.do_compile.28883)
> ERROR: Task (/home/user/work/sad-yocto/poky/meta/recipes-kernel/
> linux/linux-yocto_4.12.bb:do_compile) failed with exit code '1'
> NOTE: Tasks Summary: Attempted 2444 tasks of which 2443 didn't need to be
> rerun and 1 failed.
>
>
> What is the common practice for adding .dts/.dtsi files to a bsp in order
> to generate a .dtb file during the build?
>
>
> Peter.
>
>
> This communication, including any attached documentation, is intended only
> for the person or entity to which it is addressed, and may contain
> confidential, personal, and/or privileged information. Any unauthorized
> disclosure, copying, or taking action on the contents is strictly
> prohibited. If you have received this message in error, please contact us
> immediately so we may correct our records. Please then delete or destroy
> the original transmission and any subsequent reply. Thank you.
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20180125/712c362d/attachment.html>


More information about the yocto mailing list