Re: [armv7] dtb specified with FDT_DTS_FILE in kernconf not built when using release.sh

From: Mitchell Horne <mhorne_at_freebsd.org>
Date: Sun, 10 Apr 2022 20:15:30 UTC

On 4/10/22 16:58, Matteo Riondato wrote:
> Hi,
> 
> I'm trying to cross-build (from amd64) a custom -CURRENT armv7 image for 
> my beaglebone enhanced using the release(7) method with a custom 
> release.conf script, which I wrote starting from release/arm/GENERICSD.
> 
> The only customization that I want to include is to use the appropriate 
> dtb compiled from the dts files for this board. I thought I could 
> achieve this goal by having "makeoptions FDT_DTS_FILE=..." in my 
> kernconf, but the dtb does not seem to be compiled in the chrootdir, not 
> to say installed, the image.
> 
> The kernconf is the following:
> 
> include GENERIC
> include "../../conf/std.nodebug"
> ident   GENERIC-ND-BBE
> makeoptions FDT_DTS_FILE=am335x-sancloud-bbe.dts
> 

I believe this option is used to embed a static DTB in the kernel 
binary, not to have it compiled as part of the build.

What you most likely want instead is:
     makeoptions MODULES_EXTRA+="dtb/am335x"

This line is already included as part of the GENERIC config. However, 
you will need to modify sys/modules/dtb/am335x/Makefile to include the 
sancloud variant that you are interested in.

Cheers,
Mitchell

> My release.conf script has a custom buildenv_setup() function to cp the
> above kernconf to the /usr/src/sys/arm/conf/ directory of the chroot, 
> and the dts to /usr/src/sys/dts/arm of the chroot (from what I could 
> infer, that is the correct path for the dts, but please let me know if 
> that's not the case).
> 
> I don't see the compiled dtb anywhere in the chroot, nor an error 
> message or a warning that it failed to build, and it is not in the image 
> either.
> 
> What am I missing?
> 
> Thanks,
> Matteo