"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