start=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_start | cut -f 1 -d ’ '); end=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_end | cut -f 1 -d ’ '); tools/relocate-rela u-boot-nodtb.bin 0x00600000 $start $end
DTC arch/arm/dts/rk3036-sdk.dtb
Error: arch/arm/dts/.rk3036-sdk.dtb.pre.tmp:77.1-10 syntax error
FATAL ERROR: Unable to parse input tree
make[3]: *** [scripts/Makefile.lib:319:arch/arm/dts/rk3036-sdk.dtb] error 1
make[2]: *** [dts/Makefile:62:arch-dtbs] error 2
make[1]: *** [Makefile:877:dts/dt.dtb] error 2
make: *** [Makefile:461:__build_one_by_one] error 2
MAKE UBOOT IMAGE FAILED.
This error occurs even when I compile with the redownloaded source code, but it used to compile normally. I don’t know if it has anything to do with the system setup?
The system is Gentoo Linux.
I tried to modify u-boot/arch/arm/dts/Makefile and swap the positions of rk3308-rock-pi-s.dtb and rk3036-sdk.dtb in dtb-$(CONFIG_ARCH_ROCKCHIP). The compilation result became the following:
start=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_start | cut -f 1 -d ’ '); end=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_end | cut -f 1 -d ’ '); tools/relocate-rela u-boot-nodtb.bin 0x00600000 $start $end
DTC arch/arm/dts/rk3308-rock-pi-s.dtb
DTC arch/arm/dts/rk3066a-mk808.dtb
DTC arch/arm/dts/rk3126-evb.dtb
DTC arch/arm/dts/rk3128-evb.dtb
DTC arch/arm/dts/rk3188-radxarock.dtb
Error: arch/arm/dts/.rk3188-radxarock.dtb.pre.tmp:383.1-10 syntax error
FATAL ERROR: Unable to parse input tree
make[3]: *** [scripts/Makefile.lib:319:arch/arm/dts/rk3188-radxarock.dtb] error 1
make[2]: *** [dts/Makefile:62:arch-dtbs] error 2
make[1]: *** [Makefile:877:dts/dt.dtb] error 2
make: *** [Makefile:461:__build_one_by_one] error 2
MAKE UBOOT IMAGE FAILED.
Do I need to delete the item that caused the error?
It removes all troublesome dts files from the build process, it also fixes dtc lexer build issues.
It is part of the buildroot.rk3308 external tree. Which is another option for building the entire operating system, including uboot, kernel and the rootfs. It will produce an SDcard image for you.