Unable to build u-boot using Yocto

  • Hello
    Omni3576-SDK is primarily developed and tested on an X86 platform using Ubuntu 22.04 LTS.
  • Hello Eng33,

    Thank you for the quick response.

    I am able to build the kernel 6.1 using Yocto. I have clonned the scarthgap repo for that. As it is mentioned in the yocto/meta-rockchip/README.

    I am getting errors only for building the u-boot. The error was due to the rk3576_defconfig is not available in u-boot stream from scarthgap. So I manually added the defconfig for that. Also added file dependencies which were not available. But in the end I am still not able to build u-boot.

    I am using the x86 Ubuntu 22.04 LTS.

    Thanks,
    Ravi
    Last edited by ravi@jenextech.com on 2025-02-08 8:25, edited 1 time in total.
  • Hello,
    Could you provide detailed information, such as log details and the compilation process?
    We typically use the SDK provided by the SoC for development, and RK has not provided support for the corresponding Yocto.
    We recommend prioritizing the use of the methods provided by our SDK for compiling U-Boot and the kernel, and then you can port the rootfs yourself.
  • Hello Eng33,
    The error is "No rule to make target 'arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-linux.dtb'. Stop.", dts files for RK3576 are missing.

    Loading cache...done.
    Loaded 3243 entries from dependency cache.
    Parsing recipes...done.
    Parsing of 1899 .bb files complete (1897 cached, 2 parsed). 3245 targets, 119 skipped, 0 masked, 0 errors.
    NOTE: Resolving any missing task queue dependencies

    Build Configuration:
    BB_VERSION = "2.8.0"
    BUILD_SYS = "x86_64-linux"
    NATIVELSBSTRING = "universal"
    TARGET_SYS = "aarch64-poky-linux"
    MACHINE = "rockchip-rk3576-evb"
    DISTRO = "poky"
    DISTRO_VERSION = "5.0.7"
    TUNE_FEATURES = "aarch64 armv8a crc"
    TARGET_FPU = ""
    meta
    meta-poky
    meta-yocto-bsp = "scarthgap:b9a67c0ce5bf29c57a9b462ea1f9475b41982bc8"
    meta-oe = "scarthgap:4f11a12b2352bbdfafb6b7d956bf424af4992977"
    meta-rockchip = "<unknown>:<unknown>"

    Initialising tasks...Sstate summary: Wanted 25 Local 16 Mirrors 0 Missed 9 Current 308 (64% match, 97% complete)
    done.
    NOTE: Executing Tasks
    NOTE: Running task 831 of 994 (/media/firmware/hdd/yocto_scarthgap/meta-rockchip/recipes-kernel/linux/linux-rockchip_6.1.bb:do_compile)
    NOTE: recipe linux-rockchip-6.1-r0: task do_compile: Started
    Log data follows:
    | DEBUG: Executing shell function do_compile
    | NOTE: KBUILD_BUILD_TIMESTAMP: Fri Dec 29 10:03:45 UTC 2023
    | NOTE: make -j 20 CC=aarch64-poky-linux-gcc -fuse-ld=bfd -fcanon-prefix-map -fmacro-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work-shared/rockchip-rk3576-evb/kernel-source=/usr/src/debug/linux-rockchip/6.1 -fdebug-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work-shared/rockchip-rk3576-evb/kernel-source=/usr/src/debug/linux-rockchip/6.1 -fmacro-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/linux-rockchip_rk3576_evb-standard-build=/usr/src/debug/linux-rockchip/6.1 -fdebug-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/linux-rockchip_rk3576_evb-standard-build=/usr/src/debug/linux-rockchip/6.1 -fdebug-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot= -fmacro-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot= -fdebug-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native= -fdebug-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work-shared/rockchip-rk3576-evb/kernel-source=/usr/src/kernel -fdebug-prefix-map=/media/firmware/hdd/yocto_scarthgap/build/tmp/work-shared/rockchip-rk3576-evb/kernel-build-artifacts=/usr/src/kernel --sysroot=/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot LD=aarch64-poky-linux-ld.bfd --sysroot=/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot OBJCOPY=aarch64-poky-linux-objcopy STRIP=aarch64-poky-linux-strip HOSTCC=gcc HOSTCFLAGS=-isystem/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/usr/include -O2 -pipe HOSTLDFLAGS=-L/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/usr/lib -L/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/lib -Wl,--enable-new-dtags -Wl,-rpath-link,/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/lib -Wl,-rpath,/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/usr/lib -Wl,-rpath,/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/media/firmware/hdd/yocto_scarthgap/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -pthread HOSTCPP=gcc -E HOSTCXX=g++ HOSTCXXFLAGS=-isystem/media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/recipe-sysroot-native/usr/include -O2 -pipe HOSTPKG_CONFIG=pkg-config-native PAHOLE=false -j 20 rk3576-evb1-v10-linux.img
    | GEN Makefile
    | make[3]: *** No rule to make target 'arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-linux.dtb'. Stop.
    | make[2]: *** [/media/firmware/hdd/yocto_scarthgap/build/tmp/work-shared/rockchip-rk3576-evb/kernel-source/scripts/Makefile.build:500: arch/arm64/boot/dts/rockchip] Error 2
    | make[1]: *** [/media/firmware/hdd/yocto_scarthgap/build/tmp/work-shared/rockchip-rk3576-evb/kernel-source/Makefile:1471: rockchip/rk3576-evb1-v10-linux.dtb] Error 2
    | make: *** [/media/firmware/hdd/yocto_scarthgap/build/tmp/work-shared/rockchip-rk3576-evb/kernel-source/arch/arm64/Makefile:223: rk3576-evb1-v10-linux.img] Error 2
    | ERROR: oe_runmake failed
    | WARNING: exit code 1 from a shell command.
    NOTE: recipe linux-rockchip-6.1-r0: task do_compile: Failed
    NOTE: Tasks Summary: Attempted 977 tasks of which 976 didn't need to be rerun and 1 failed.

    Summary: 1 task failed:
    /media/firmware/hdd/yocto_scarthgap/meta-rockchip/recipes-kernel/linux/linux-rockchip_6.1.bb:do_compile
    log: /media/firmware/hdd/yocto_scarthgap/build/tmp/work/rockchip_rk3576_evb-poky-linux/linux-rockchip/6.1/temp/log.do_compile.318520
    Summary: There were 2 ERROR messages, returning a non-zero exit code.

    Thanks,
    Ravi
    Last edited by ravi@jenextech.com on 2025-02-14 12:27, edited 1 time in total.
  • Hi Ravi,
    It seems that you have not properly configured or used the kernel we provided. We have not used rk3576-evb1-v10-linux.dts or rk3576-evb1-v10-linux.dtsi, so I think there is a configuration error on your part. I suggest you refer to our SDK and develop based on our SDK first.
  • Hi Eng33,

    So you are asking me to build the SDK using build.sh script. Right?

    One more thing I have rockchip SDK and I want to build it and run it on Luckfox omni3576. So how many changes do I need to make?

    Thanks,
    Ravi
  • Hi Ravi,
    I didn't ask you to give me the build.sh script, but everything you've done is not based on the SDK we provided.
    I think this goes beyond our technical support scope.
  • Eng33 wrote: 2025-02-18 12:17 Hi Ravi,
    It seems that you have not properly configured or used the kernel we provided. We have not used rk3576-evb1-v10-linux.dts or rk3576-evb1-v10-linux.dtsi, so I think there is a configuration error on your part. I suggest you refer to our SDK and develop based on our SDK first.
    What .dtsi users can use ?
    Does luckfox provided it rk3576 evb
    dtsi to rockchips sdk ?

    and to fix this
    The error is "No rule to make target 'arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-linux.dtb'. Stop.", dts files for RK3576 are missing.
    can we use any config file from this command in RockChip SDK ?
    ls kernel/arch/arm64/boot/dts/rockchip/ | grep rk3576


    apologies for a lot of edited.
    Last edited by Isra on 2025-03-04 3:43, edited 2 times in total.