Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Mar 2019 19:03:55 +0100
From:      Manuel =?ISO-8859-1?Q?St=FChn?= <freebsdnewbie@freenet.de>
To:        Kyle Evans <kevans@freebsd.org>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: efi-loader ignores dtb files?
Message-ID:  <20190328190355.1459c85b48211905f8a3e04a@freenet.de>
In-Reply-To: <CACNAnaHQxzhmKKWqb4eUQvqdYr1xYYVRYVakQri_YRyvGb8tXA@mail.gmail.com>
References:  <20190327192320.GA64908@freebsd-t450.fritz.box> <CACNAnaHQxzhmKKWqb4eUQvqdYr1xYYVRYVakQri_YRyvGb8tXA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 27 Mar 2019 14:35:26 -0500
Kyle Evans <kevans@freebsd.org> wrote:

> On Wed, Mar 27, 2019 at 2:26 PM Manuel St=FChn <freebsdnewbie@freenet.de>=
 wrote:
> >
> > While trying to get FreeBSD 12.0 up and running on a NanoPI NEO2
> > (aarch64 Allwinner H5) I'm stumbling over issues with
> > loader/loader.conf.  FreeBSD starts fine, but it uses the
> > devicetree-blob provided by uboot/EFI. I've tried to load the FreeBSD
> > one by adding these lines to loader.conf:
> >
> > sun50i-h5-nanopi-neo2.dtb_load=3D"YES"
> > sun50i-h5-nanopi-neo2.dtb_type=3D"dtb"
> >
> > and put the dtb file into /boot/dtb/sun50i-h5-nanopi-neo2.dtb, but this
> > did not work at all.  It got completely ignored by loader. The rest of
> > the file was read and applied correctly (kernel-modules i'd added for
> > testing purposes were loaded correctly).
> >
> > I tried to load it by hand like this:
> >
> > load -t dtb sun50i-h5-nanopi-neo2.dtb
> >
> > which worked, the dtb file was loaded and used. After consulting
> > loader.conf(5) i found this way to load modules:
> >
> > dtbfile_load=3D"YES"
> > dtbfile_type=3D"dtb"
> > dtbfile_name=3D"sun50i-h5-nanopi-neo2.dtb"
> >
> > and this finally triggered loader(8) to actually load the dtb.
> > Unfortunatley the problem occurred again when i tried to add overlays.
> > Those are, again, not recognized at all:
> >
> > /boot/loader.conf:
> > fdt_overlays=3D"sun50i-nanopi-neo2-codec.dtbo,sun50i-nanopi-neo2-sid.dt=
bo,sun50i-nanopi-neo2-ths.dtbo"
> >
> > Any ideas?
>=20
> Yes- for your first problem, loader doesn't recognize a period as a
> valid module name, so those directives would not have gotten
> recognized as modules to load.

Should it work without period (it does not)?

sun50i-h5-nanopi-neo2_load=3D"YES"
sun50i-h5-nanopi-neo2_type=3D"dtb"


> I'm not sure off-hand why fdt_overlays were not recognized. I would
> drop to loader prompt and double check that it actually ended up in
> the environment, but I don't see any reason off-hand that it wouldn't.

I tried to load the overlays from loader prompt by hand like this:
load -t dtbo sun50i-nanopi-neo2-codec.dtbo
load -t dtbo sun50i-nanopi-neo2-sid.dtbo
load -t dtbo sun50i-nanopi-neo2-ths.dtbo
and they got applied correctly and the corresponding devices appeared in th=
e OS.

As another test I did was to not load the base dtb file via loader.conf but=
 to use the one provided by u-boot/EFI.=20
The output looked like this
[...]
Using DTB provided by EFI at 0x47ef8000.
Loading DTB overlays: 'sun50i-nanopi-neo2-codec.dtbo,sun50i-nanopi-neo2-sid=
,sun50i-nanopi-neo2-ths.dtbo'
/boot/dtb/overlays/sun50i-nanopi-neo2-codec.dtbo size=3D0x11a
/boot/dtb/overlays/sun50i-nanopi-neo2-sid.dtbo size=3D0x1f5
/boot/dtb/overlays/sun50i-nanopi-neo2-ths.dtbo size=3D0x3c5
applying DTB overlay '/boot/dtb/overlays/sun50i-nanopi-neo2-codec.dtbo'
applying DTB overlay '/boot/dtb/overlays/sun50i-nanopi-neo2-sid.dtbo'
applying DTB overlay '/boot/dtb/overlays/sun50i-nanopi-neo2-ths.dtbo'
failed to apply overlay: FDT_ERR_NOTFOUND
[...]
In this case the overlays were found and loaded, but did most likely not ma=
tch the u-boot dtb file.

Is there an issue with loading overlays in conjunction with manually loadin=
g dtb files via loader.conf?

> It might be a good idea to drop to loader prompt and trigger overlay
> application. No output at all?
>=20
> > BTW, is there a way to keep the u-boot logs printed before the
> > FreeBSD-boot-menu gets drawn? The console gets cleared and erases some
> > (valuable?) information. I was always to slow to stop the boot right
> > after the last line of u-boot and the first of EFI.
>=20
> Any reason you need to keep the loader menu? Disabling it
> (beastie_disable=3D"YES") and lack of password prompts will stop the
> screen clearing in recent-ish versions of the lua scripts from head.
>=20
> Thanks,
>=20
> Kyle Evans


--=20
Manuel



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190328190355.1459c85b48211905f8a3e04a>