"No valid device tree blob found" error

Ian Lepore ian at FreeBSD.org
Mon Feb 17 19:11:54 UTC 2014


On Mon, 2014-02-17 at 16:03 -0300, Luiz Otavio O Souza wrote:
> On 16 February 2014 18:31, Glen Barber wrote:
> > On Sun, Feb 16, 2014 at 04:30:01PM -0500, Glen Barber wrote:
> >> Images for RPI-B and BEAGLEBONE (and I suspect PANDABOARD) are failing
> >> to boot this week.
> >>
> >> The images are built against r261948.  Console messages during boot:
> >>
> >>   ## Starting application at 0x88000054 ...
> >>   Consoles: U-Boot console
> >>   Compatible API signature found @9f242240
> >>   MMC Device 2 not found
> >>   MMC Device 3 not found
> >>   Number of U-Boot devices: 2
> >>
> >>   FreeBSD/armv6 U-Boot loader, Revision 1.2
> >>   (root at grind.freebsd.org, Sun Feb 16 18:10:43 UTC 2014)
> >>   DRAM:    512MB
> >>
> >>   Device: disk
> >>   Loading /boot/defaults/loader.conf
> >>   /boot/kernel/kernel data=0x460bc8+0x2c7438
> >>   syms=[0x4+0x85a60+0x4+0x50c89]
> >>
> >>   Hit [Enter] to boot immediately, or any other key for command prompt.
> >>   Booting [/boot/kernel/kernel]...
> >>   Using DTB provided by U-Boot.
> >>   No valid device tree blob found!WARNING! Trying to fire up the kernel,
> >>   but no device tree blob found!
> >>
> >> Any ideas if this is error on my part, or a problem in head/ ?  The
> >> stable/10/ images boot fine, so I do not suspect any code changes in the
> >> build process.
> >>
> >
> > Correction:  RPI-B fails to boot.  BEAGLEBONE boots after pressing 'q'
> > when this message is displayed.
> >
> > Glen
> >
> 
> 
> Yeah, i had noted this difference already (and forgot to ask about it...).
> 
> It works on BEAGLEBONE because the BEAGLEBONE kernel still has the
> FDT_DTB_STATIC option.
> 
> I have booted mine without the static dtb blob included in kernel
> without any issue (using crochet images - other images which doesn't
> use ubldr may be broken by this change).
> 
> If you guys think it is appropriate i can ask to commit the attached patch.
> 
> Luiz

I think it's a good idea to leave the static dtb compiled in on
platforms where it'll work.  The code in initarm() tries to use the dtb
passed in by ubldr or by u-boot using the linux boot abi, and only falls
back to the static one if those aren't available.

-- Ian




More information about the freebsd-arm mailing list