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>