On Apr 25, 2014, at 8:56 AM, Ron Brown <ron.brown_at_arcserv.com> wrote: > The FreeBSD Wiki at https://wiki.freebsd.org/FlattenedDeviceTree refers to > building a dtb in the following manner: > > -- > On platforms capable of running loader(8) the default scenario is to use > a stand-alone DTB file, which is handled by the loader and handed over to > kernel at boot time. In this approach, a DTB should be created at kernel > build time: > > If FDT_DTS_FILE is specified in the kernel config file, the DTB is > compiled automatically as part of the buildkernel stage. The user does > not have to perform any explicit steps. > > If the default DTS file is not specified in the kernel config file, the > DTB needs to be created separately by the user with the builddtb target: > > $ make builddtb FDT_DTS_FILE=mpc8572ds.dts > -- > > However, this fails with: > ERROR: Specified DTS File (zedboard.dts) does not exist! > > This is because /usr/src/Makefile.inc1 uses the MACHINE environment > variable to find FDT_DTS_FILE: > > Starting at line 1836: > if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${MACHINE}/${FDT_DTS_FILE} ]; ... > echo "ERROR: Specified DTS file (${FDT_DTS_FILE}) does not \ > exist!"; \ > > MACHINE refers to the currently running system, however most of the ARM > development is cross-compiled and the zedboard .dts resides in the dts/arm > directory while MACHINE points if to the dts/amd64 directory. > Should Makefile.inc1 instead refer to TARGET or something similar? > > if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${TARGET}/${FDT_DTS_FILE} ]; ... I think this is a mistake, but the make_dtb script also makes a similar mistake (because it expects to be called from a different context). I’ll sort this out and post a patch. WarnerReceived on Fri Apr 25 2014 - 14:30:49 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:48 UTC