dts problem during compile from source on aarch64

Today I try to compile the freebsd source code on a vm started by qemu.
I use the same method as I compile it on my x86_64vm, that is
make buildkernel -j8

It seems(means I'm not sure) compiled successfully but problems comes out when linking.

I pasted a 4-thread compile log below, hope to provide some info

Code:
--- subr_bus_dma.o ---
cc -target aarch64-unknown-freebsd13.2 --sysroot=/usr/obj/root/zswap4BSD/arm64.aarch64/tmp -B/usr/obj/root/zswap4BSD/arm64.aarch64/tmp/usr/bin -c -O2 -pipe  -fno-strict-aliasing  -g -nostdinc  -I. -I/root/zswap4BSD/sys -I/root/zswap4BSD/sys/contrib/ck/include -I/root/zswap4BSD/sys/compat/linuxkpi/common/include -I/root/zswap4BSD/sys/contrib/libfdt -I/root/zswap4BSD/sys/contrib/device-tree/include -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common    -DLINUX_DTS_VERSION=\""5.9"\" -mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0 -mstack-protector-guard-offset=0 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -MD  -MF.depend.subr_bus_dma.o -MTsubr_bus_dma.o -fdebug-prefix-map=./machine=/root/zswap4BSD/sys/arm64/include -mgeneral-regs-only -ffixed-x18 -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error=tautological-compare -Wno-error=empty-body -Wno-error=parentheses-equality -Wno-error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative-value -Wno-address-of-packed-member -Wno-error=unused-but-set-variable -Wno-format-zero-length     -std=iso9899:1999 -Werror  /root/zswap4BSD/sys/kern/subr_bus_dma.c
--- modules-all ---
--- allwinner/sun50i-h5-nanopi-neo2.dtb ---
Generating allwinner/sun50i-h5-nanopi-neo2.dtb from /root/zswap4BSD/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h5-nanopi-neo2.dts
converting /root/zswap4BSD/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h5-nanopi-neo2.dts -> /usr/obj/root/zswap4BSD/arm64.aarch64/sys/GENERIC/modules/root/zswap4BSD/sys/modules/dtb/allwinner/sun50i-h5-nanopi-neo2.dtb
--- allwinner/sun50i-h6-pine-h64.dtb ---
Generating allwinner/sun50i-h6-pine-h64.dtb from /root/zswap4BSD/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h6-pine-h64.dts
converting /root/zswap4BSD/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h6-pine-h64.dts -> /usr/obj/root/zswap4BSD/arm64.aarch64/sys/GENERIC/modules/root/zswap4BSD/sys/modules/dtb/allwinner/sun50i-h6-pine-h64.dtb
--- allwinner/sun50i-h6-pine-h64-model-b.dtb ---
Generating allwinner/sun50i-h6-pine-h64-model-b.dtb from /root/zswap4BSD/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h6-pine-h64-model-b.dts
converting /root/zswap4BSD/sys/contrib/device-tree/src/arm64/allwinner/sun50i-h6-pine-h64-model-b.dts -> /usr/obj/root/zswap4BSD/arm64.aarch64/sys/GENERIC/modules/root/zswap4BSD/sys/modules/dtb/allwinner/sun50i-h6-pine-h64-model-b.dtb
--- sun50i-a64-opp.dtbo ---
Generating sun50i-a64-opp.dtbo from /root/zswap4BSD/sys/dts/arm64/overlays/sun50i-a64-opp.dtso
sh: /root/zswap4BSD/sys/tools/fdt/make_dtbo.sh: Permission denied
*** [sun50i-a64-opp.dtbo] Error code 126

make[4]: stopped in /root/zswap4BSD/sys/modules/dtb/allwinner
*** [modules-all] Error code 6

make[2]: stopped in /usr/obj/root/zswap4BSD/arm64.aarch64/sys/GENERIC
--- subr_blist.o ---
ctfconvert -L VERSION -g subr_blist.o
--- subr_bus_dma.o ---
ctfconvert -L VERSION -g subr_bus_dma.o
--- subr_bus.o ---
ctfconvert -L VERSION -g subr_bus.o
1 error

sh: /root/zswap4BSD/sys/tools/fdt/make_dtbo.sh: Permission denied
but there is no permission denied, I'm using root.

and I run this script straightly

# sh /root/zswap4BSD/sys/tools/fdt/make_dtbo.sh
No DTS overlays specified


I guess I should do some configure to specified the "DTS overlay", but I don't know what can I do even unable to find the manual.

or should I do something in qemu?
 
I checked this sh, and found the dtso files shoud be under path sys/dts/{myarch}/overlays, and the makefile in this path

Code:
DTSO!=ls ${.CURDIR}/*.dtso

all: test-dtso

shows some filename shoule be passed to ${DTSO}

and in the Makefile.inc under dts , it called the shell script mentioned above
Code:
test-dtso:
.for dtso in ${DTSO}
    @env MACHINE=`basename ${.CURDIR}` ${SYSDIR}/tools/fdt/make_dtbo.sh ${SYSDIR} ${dtso} /tmp
.endfor

I think maybe I have done something wrong when specific the arch?
I will continue to find the problem.
 
o_O I solved this problem.

Just because some files were broken. I re-download the source, and then solved.
 
Back
Top