On Mon, Jan 19, 2026 at 07:42:59AM +0100, Marek Vasut wrote:
> On 1/19/26 1:09 AM, Vagrant Cascadian wrote:
> > The fdtdfile variable contains quotes:
> > 
> >    printenv fdtfile
> >    fdtfile="sifive/hifive-unmatched-a00.dtb"
> > 
> > But this leads to issues which booting with an extlinux.conf format
> > file failing to find the .dtb file:
> > 
> >    Retrieving file: 
> > /usr/lib/linux-image-6.12.63+deb13-riscv64/"sifive/hifive-unmatched-a00.dtb"
> >    Skipping fdtdir /usr/lib/linux-image-6.12.63+deb13-riscv64/ for failure 
> > retrieving dts
> > 
> > Other platforms (e.g. rockpro64-rk3399) do not contain quotes in the
> > fdtfile variable, and work properly out of the box.
> > 
> > The workaround suggested by marex is to hard-code the correct .dtb
> > value, which works for me.
> > 
> > This has been present at least since version 2025.01, also present in
> > 2026.01. I have not yet tested against git master branch.
> > 
> > This could probably be properly fixed by stripping the quotes in
> > whatever processes the .env file. There are numerous other boards that
> > have the same way of setting the fdtfile variable, which might
> > similarly be effected by this issue.
> > 
> > Signed-off-by: Vagrant Cascadian <[email protected]>
> > 
> > Not sure who all to CC on this, please feel free to forward
> > appropriately!
> 
> ./scripts/get_maintainer.pl -f board/sifive/unmatched/
> 
> produces a few names, added
> 
> > ---
> >   board/sifive/unmatched/unmatched.env | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/board/sifive/unmatched/unmatched.env 
> > b/board/sifive/unmatched/unmatched.env
> > index 34425dc9efa..cdba2c8ae0e 100644
> > --- a/board/sifive/unmatched/unmatched.env
> > +++ b/board/sifive/unmatched/unmatched.env
> > @@ -16,4 +16,4 @@ partitions=
> >       name=loader1,start=17K,size=1M,type=${type_guid_gpt_loader1};
> >       name=loader2,size=4MB,type=${type_guid_gpt_loader2};
> >       name=system,size=-,bootable,type=${type_guid_gpt_system}; 
> > -fdtfile=CONFIG_DEFAULT_FDT_FILE
> > +fdtfile=sifive/hifive-unmatched-a00.dtb
> 
> Also +CC Peng because iMX is also affected.

I'm setting aside the question of why we have both DEFAULT_FDT_FILE and
DEFAULT_DEVICE_TREE and pointing to:
commit d085e692c98d0d7b57cc577ed9befda159cd4a40
Author: Simon Glass <[email protected]>
Date:   Wed Nov 13 08:09:37 2024 -0700

    env: Provide a work-around for unquoting fdtfile
    
    Some boards use a CONFIG option to specify the value of this variable.
    This is normally handled by efi_get_distro_fdt_name() but in the case
    of sunxi this does not work, since 'soc' is sunxi, but the files are
    in the allwinner directory.
    
    Provide a work-around for this particular case.
    
    Signed-off-by: Simon Glass <[email protected]>
    Reviewed-by: Tom Rini <[email protected]>

As how to address this issue as well, unless someone discovers something
still more clever to deal with quoting.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to