Date: Sun, 31 Mar 2019 17:54:22 +0200 From: Manuel =?ISO-8859-1?Q?St=FChn?= <freebsdnewbie@freenet.de> To: freebsd-arm@freebsd.org Subject: Re: efi-loader ignores dtb files? Message-ID: <20190331175422.8bc3cb1b654ad0c5a7c9f533@freenet.de> In-Reply-To: <20190328215048.9dccb364c7ccac59f77bb98f@freenet.de> References: <20190327192320.GA64908@freebsd-t450.fritz.box> <CACNAnaHQxzhmKKWqb4eUQvqdYr1xYYVRYVakQri_YRyvGb8tXA@mail.gmail.com> <20190328190355.1459c85b48211905f8a3e04a@freenet.de> <CACNAnaEFJMbiVRvPQR1FvtSZ6Ee6t2nr11dtoa0QyZwQhuVD2w@mail.gmail.com> <CACNAnaE4T53nrGPXuJSGPwpe0m_Pdw%2BwxGsCL9Mhu_KA7jKAoQ@mail.gmail.com> <20190328215048.9dccb364c7ccac59f77bb98f@freenet.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 28 Mar 2019 21:50:48 +0100 Manuel St=FChn <freebsdnewbie@freenet.de> wrote: > On Thu, 28 Mar 2019 14:10:27 -0500 > Kyle Evans <kevans@freebsd.org> wrote: >=20 > > On Thu, Mar 28, 2019 at 1:30 PM Kyle Evans <kevans@freebsd.org> wrote: > > > > > > On Thu, Mar 28, 2019 at 1:06 PM Manuel St=FChn <freebsdnewbie@freenet= .de> wrote: > > > > > > > > On Wed, 27 Mar 2019 14:35:26 -0500 > > > > Kyle Evans <kevans@freebsd.org> wrote: > > > [... snip ...] > > > > > I'm not sure off-hand why fdt_overlays were not recognized. I wou= ld > > > > > 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 woul= dn'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 appear= ed in the 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. > > > > 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.d= tbo' > > > > applying DTB overlay '/boot/dtb/overlays/sun50i-nanopi-neo2-sid.dtb= o' > > > > applying DTB overlay '/boot/dtb/overlays/sun50i-nanopi-neo2-ths.dtb= o' > > > > failed to apply overlay: FDT_ERR_NOTFOUND > > > > [...] > > > > In this case the overlays were found and loaded, but did most likel= y not match the u-boot dtb file. > > > > > > > > Is there an issue with loading overlays in conjunction with manuall= y loading dtb files via loader.conf? > > > > > > > > > > Yes, I see a problem -- try something like [0] (not even compile > > > tested, but it should work). I'll start working out a more proper > > > solution. > >=20 > > I've devised a solution that's a little less hacky at [1]. It > > separates out the loading of overlays from platform_load_dtb into its > > own platform_load_overlays. I've left it as a platform-specific thing > > instead of lifting it into the common fdt bits for two reasons: > >=20 > > 1.) We still technically support setting fdt_overlays in the U-Boot > > environment and honoring that, and > > 2.) Not all FDT platforms support overlays as they've not been tested, > > so it's probably best to nop it there for now just in case... > >=20 > > If we're ok with dropping #1 (probably not even used, but we don't > > have a way of measuring usage there) and OK with adding untested > > overlay support to powerpc/{ofw,kboot} then this diff drops > > dramatically and the calls to fdt_platform_load_overlays get replaced > > with fdt_load_dtb_overlays calls.boot/loader_lua.efi > >=20 > > > [0] https://people.freebsd.org/~kevans/overlay-hack.diff > >=20 > > [1] http://people.freebsd.org/~kevans/overlay-lesshack.diff >=20 > Thank you for your patches. I've been trying patch[1] but unfortunately > it seems to not work for me.=20 The patch[1] _does_ work, actually. I only had to realize that the loader-files in /boot seem not being involved in booting the system. After updating /EFI/BOOT/bootaa64.efi with the patched version of boot/loader_lua.efi all the overlays were applied correctly. > Due to my lack of knowledge on how to only > build and install /usr/src/stand=20 Only for the records: how to cross-build and install only /usr/src/stand:=20 % export TARGET=3Darm64 % export TARGET_ARCH=3Daarch64 % export DESTDIR=3D/path/to/install % cd /usr/src/ % make buildenv % cd /usr/src/stand % make && make install > I've built+installed both > kernel+world, but the described behavior did not change; still no > overlays when defining a dtb file in loader.conf. --=20 Manuel
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190331175422.8bc3cb1b654ad0c5a7c9f533>