Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Dec 2016 11:17:20 +0200
From:      Daniel Braniss <danny@cs.huji.ac.il>
To:        Ian Lepore <ian@freebsd.org>
Cc:        arm@freebsd.org
Subject:   ubldr, was Re: dtb printout
Message-ID:  <93729768-D887-4568-8686-FE691A881BC6@cs.huji.ac.il>
In-Reply-To: <1480950103.1889.251.camel@freebsd.org>
References:  <7FD12DD6-B390-4EF3-811B-391798410BC0@cs.huji.ac.il> <1480950103.1889.251.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 5 Dec 2016, at 17:01, Ian Lepore <ian@freebsd.org> wrote:
>=20
> On Mon, 2016-12-05 at 15:48 +0200, Daniel Braniss wrote:
>> Hi,
>> the short version:
>> 	is there a way to obtain the dtb from the kernel?
>>=20
>> the longer version:
>> I am developing on several different arm boards, rpi, rpi2, orangepi-
>> one, orange-pc, to mention=20
>> a few, and each one has a different u-boot, ubldr, dtb, and I keep
>> loosing track :-(
>> I find myself too often wondering which ddb file got loaded.
>>=20
>> cheers,
>> 	danny
>=20
> First:  each one does NOT have a different ubldr.  All ubldr.bin files
> are the same, they're not board-specific anymore.  (The elf versions,
> ubldr without the .bin, may have a different load address in the elf
> header, but other than that, they're identical too and can actually be
> loaded at any address.)
>=20
> To see the contents of the dtb, use ofwdump.  The output is not
> especially pretty.  There is a manpage for it.
>=20
> To just get a quick reminder of which file was loaded, create a
> /boot/loader.rc.local (<-- .rc not .conf) that contains
>  =20
>   ubenv import fdtfile fdt_file
>=20
> Then in the running system you can use kenv and you'll see
>=20
>   uboot.fdtfile=3D"bcm2835-rpi-b-rev2.dtb"
>=20
> Unfortunately, some u-boots use fdtfile, some use fdt_file.  Grrr.
>=20
> You can, of course, use that ubenv import thing to pull any variable
> from the uboot environment into the kernel environment.  If you just
> say ubenv import without naming a variable, you get all the vars
> (including vars that contain scripts, which is kind of messy).
>=20
> =E2=80=94 Ian
>=20

as usual, I get more than I bargained for :-)
on rpi adding ubenv import worked, but on orange/allwinner I got a =
=E2=80=98syntax error=E2=80=99,
I tried to upgrade the ubldr, but so far i get:

U-Boot SPL 2016.09 (Dec 05 2016 - 15:02:38)
DRAM: 1024 MiB
Trying to boot from MMC1


U-Boot 2016.09 (Dec 05 2016 - 15:02:38 +0200) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi PC
I2C:   ready
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   SUNXI SD/MMC: 0
reading u-boot.env

** Unable to read "u-boot.env" from mmc0:1 **
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   phy interface0
eth0: ethernet@1c30000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
USB2:   USB EHCI 1.00
USB3:   USB OHCI 1.0
USB4:   USB EHCI 1.00
USB5:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning bus 4 for devices... 1 USB Device(s) found
Hit any key to stop autoboot:  0=20
Booting from: mmc 0 ubldr.bin
reading ubldr.bin
223912 bytes read in 53 ms (4 MiB/s)
## No elf image at address 0x42000000
## Starting application at 0x42000000 ...




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?93729768-D887-4568-8686-FE691A881BC6>