Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jul 2023 11:20:50 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        John <jwd@freebsd.org>, FreeBSD ARM List <freebsd-arm@freebsd.org>
Subject:   Re: Supermicro R12SPD Ampere Altra - No valid device tree blob found
Message-ID:  <CANCZdfo--2uTLqAaA%2B4BrG3ZZpWvOmszvAK0=pzebh9PGhqYvw@mail.gmail.com>
In-Reply-To: <A34C846A-051B-4596-A9F2-09EDFDDC0F54@yahoo.com>
References:  <ZLVuTpUBjE2hOx1G@FreeBSD.org> <A34C846A-051B-4596-A9F2-09EDFDDC0F54@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000bec7370600b2055f
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Jul 17, 2023 at 11:15=E2=80=AFAM Mark Millard <marklmi@yahoo.com> w=
rote:

> On Jul 17, 2023, at 09:37, John <jwd@FreeBSD.org> wrote:
>
> > Hi Folks,
> >
> >   I have a new Supermicro system:
> >
> > Supermicro R12SPD BIOS Date:04/26/2023 Rev:1.1a
> > CPU : Ampere(R) Altra(R) Max Processor
> >
> >   Booting from the latest media (spot checking older
> > media makes no difference):
> >
> > Boot Media:
> FreeBSD-14.0-CURRENT-arm64-aarch64-20230713-510fd8313800-264135-disc1.iso
> >
> >   Fails here:
> >
> > Loading kernel...
> > /boot/kernel/kernel text=3D0x2a8 text=3D0x8ff810 text=3D0x29b324 data=
=3D0x153cc8
> data=3D0x0+0x2c3000 0x8+0x155628+0x8+0x17e504|
> > Loading configured modules...
> > can't find '/etc/hostid'
> > can't find '/boot/entropy'
> > No valid device tree blob found!
> > WARNING! Trying to fire up the kernel, but no device tree blob found!
> > EFI framebuffer information:
> > addr, size     0x10000000, 0x300000
> > dimensions     1024 x 768
> > stride         1024
> > masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
> >
> >
> >   If I break into the loader, the fdt command shows the
> > same error message.
> >
> > OK fdt ls
> > No device tree blob found!
> >
> > OK
> >
> >   A verbose boot shows no additional information.
> >
> >   I've poked around in the source and don't see an obvious
> > fix for this. Web searches have also not provided any
> > obvious solutions.
> >
> >  Any ideas? Thoughts?
>
> UEFI/ACPI booting does not have a "device tree blob" to find but
> FreeBSD's UEFI laoder still puts out the "No valid device tree
> blob found!". I see this on all the UEFI/ACPI booting systems that
> I have access to --and they all boot fine, aarch64 system and the
> amd64 system.
>
> I expect that your boot context is UEFI/ACPI and that the message
> has mislead you about what to look for relative to booting.
>
> But I could be wrong and the system could be trying to boot via
> fdt. That is one of the problems with the way this messaging is
> handled.
>
> On the HoneyComb (16 Cortex-A72's), for example, there
> is the FreeBSD loader's configuration command:
>
> OK configuration
> NumberOfTableEntries=3D12
>   76b6bdfa-2acd-4462-9e3f-cb58c969d937 at 0xfad05b18
>   fc1bcdb0-7d31-49aa-936a-a4600d9dd083 at 0xfaabfd98
>   DXE Table at 0xfacea6b0
>   HOB List Table at 0xfaabd018
>   MemoryTypeInformation at 0xfacea338
>   Debug Image Info Table at 0xfad038d8
>   a4ee0728-e5d7-4ac5-b21e-658ed857e834 at 0xfaccea98
>   ACPI 2.0 Table at 0xef890018
>   SMBIOS3 Table at 0xfacb0000
>   dcfa911d-26eb-469f-a220-38b7dc461220 at 0xee5cb018
>   HII database at 0xee550018
>   HII config routing at 0xee530018
>
> For this context, it indicates a UEFI/ACPI boot: note the
> "ACPI 2.0 Table at". FDT booting would refer to such instead.
>
> So you likely can check if you are UEFI/ACPI booting vs.
> FDT booting.
>
> It is technically possible to have an environment that could
> list both. I've no experience with booting such a system or
> other knowledge of how FreeBSD handles such.
>

It's supposed to use FDT if it is present, and ACPI if not.
If you have both (which kboot does for $REASONS),  then
you'll need to set
kern.cfg.order=3D"acpi,fdt"
in /boot/loader.conf which I do for kboot booted mount jade systems.

Warner

--000000000000bec7370600b2055f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Jul 17, 2023 at 11:15=E2=80=
=AFAM Mark Millard &lt;<a href=3D"mailto:marklmi@yahoo.com">marklmi@yahoo.c=
om</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex=
">On Jul 17, 2023, at 09:37, John &lt;jwd@FreeBSD.org&gt; wrote:<br>
<br>
&gt; Hi Folks,<br>
&gt; <br>
&gt;=C2=A0 =C2=A0I have a new Supermicro system:<br>
&gt; <br>
&gt; Supermicro R12SPD BIOS Date:04/26/2023 Rev:1.1a<br>
&gt; CPU : Ampere(R) Altra(R) Max Processor<br>
&gt; <br>
&gt;=C2=A0 =C2=A0Booting from the latest media (spot checking older<br>
&gt; media makes no difference):<br>
&gt; <br>
&gt; Boot Media: FreeBSD-14.0-CURRENT-arm64-aarch64-20230713-510fd8313800-2=
64135-disc1.iso<br>
&gt; <br>
&gt;=C2=A0 =C2=A0Fails here:<br>
&gt; <br>
&gt; Loading kernel...<br>
&gt; /boot/kernel/kernel text=3D0x2a8 text=3D0x8ff810 text=3D0x29b324 data=
=3D0x153cc8 data=3D0x0+0x2c3000 0x8+0x155628+0x8+0x17e504|<br>
&gt; Loading configured modules...<br>
&gt; can&#39;t find &#39;/etc/hostid&#39;<br>
&gt; can&#39;t find &#39;/boot/entropy&#39;<br>
&gt; No valid device tree blob found!<br>
&gt; WARNING! Trying to fire up the kernel, but no device tree blob found!<=
br>
&gt; EFI framebuffer information:<br>
&gt; addr, size=C2=A0 =C2=A0 =C2=A00x10000000, 0x300000<br>
&gt; dimensions=C2=A0 =C2=A0 =C2=A01024 x 768<br>
&gt; stride=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01024<br>
&gt; masks=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0x00ff0000, 0x0000ff00, 0x0000=
00ff, 0xff000000<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0If I break into the loader, the fdt command shows the<br>
&gt; same error message.<br>
&gt; <br>
&gt; OK fdt ls<br>
&gt; No device tree blob found!<br>
&gt; <br>
&gt; OK <br>
&gt; <br>
&gt;=C2=A0 =C2=A0A verbose boot shows no additional information.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0I&#39;ve poked around in the source and don&#39;t see an o=
bvious<br>
&gt; fix for this. Web searches have also not provided any<br>
&gt; obvious solutions.<br>
&gt; <br>
&gt;=C2=A0 Any ideas? Thoughts?<br>
<br>
UEFI/ACPI booting does not have a &quot;device tree blob&quot; to find but<=
br>
FreeBSD&#39;s UEFI laoder still puts out the &quot;No valid device tree<br>
blob found!&quot;. I see this on all the UEFI/ACPI booting systems that<br>
I have access to --and they all boot fine, aarch64 system and the<br>
amd64 system.<br>
<br>
I expect that your boot context is UEFI/ACPI and that the message<br>
has mislead you about what to look for relative to booting.<br>
<br>
But I could be wrong and the system could be trying to boot via<br>
fdt. That is one of the problems with the way this messaging is<br>
handled.<br>
<br>
On the HoneyComb (16 Cortex-A72&#39;s), for example, there<br>
is the FreeBSD loader&#39;s configuration command:<br>
<br>
OK configuration<br>
NumberOfTableEntries=3D12<br>
=C2=A0 76b6bdfa-2acd-4462-9e3f-cb58c969d937 at 0xfad05b18<br>
=C2=A0 fc1bcdb0-7d31-49aa-936a-a4600d9dd083 at 0xfaabfd98<br>
=C2=A0 DXE Table at 0xfacea6b0<br>
=C2=A0 HOB List Table at 0xfaabd018<br>
=C2=A0 MemoryTypeInformation at 0xfacea338<br>
=C2=A0 Debug Image Info Table at 0xfad038d8<br>
=C2=A0 a4ee0728-e5d7-4ac5-b21e-658ed857e834 at 0xfaccea98<br>
=C2=A0 ACPI 2.0 Table at 0xef890018<br>
=C2=A0 SMBIOS3 Table at 0xfacb0000<br>
=C2=A0 dcfa911d-26eb-469f-a220-38b7dc461220 at 0xee5cb018<br>
=C2=A0 HII database at 0xee550018<br>
=C2=A0 HII config routing at 0xee530018<br>
<br>
For this context, it indicates a UEFI/ACPI boot: note the<br>
&quot;ACPI 2.0 Table at&quot;. FDT booting would refer to such instead.<br>
<br>
So you likely can check if you are UEFI/ACPI booting vs.<br>
FDT booting.<br>
<br>
It is technically possible to have an environment that could<br>
list both. I&#39;ve no experience with booting such a system or<br>
other knowledge of how FreeBSD handles such.<br></blockquote><div><br></div=
><div>It&#39;s supposed to use FDT if it is present, and ACPI if not.</div>=
<div>If you have both (which kboot does for $REASONS),=C2=A0 then</div><div=
>you&#39;ll need to set</div><div>kern.cfg.order=3D&quot;acpi,fdt&quot;</di=
v><div>in /boot/loader.conf which I do for kboot booted mount jade systems.=
</div><div><br></div><div>Warner<br></div></div></div>

--000000000000bec7370600b2055f--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfo--2uTLqAaA%2B4BrG3ZZpWvOmszvAK0=pzebh9PGhqYvw>