Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Sep 2022 19:05:51 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Cy Schubert <Cy.Schubert@cschubert.com>
Cc:        John Baldwin <jhb@freebsd.org>, Warner Losh <imp@freebsd.org>,  src-committers <src-committers@freebsd.org>,  "<dev-commits-src-all@freebsd.org>" <dev-commits-src-all@freebsd.org>, dev-commits-src-main@freebsd.org
Subject:   Re: git: df065f699f1f - main - stand: More sensible defaults when ConOut is missing
Message-ID:  <CANCZdfp0uWFqu237%2B1L0zi57Z1KkXZjmuVx95Sxe7bCbGSdkeQ@mail.gmail.com>
In-Reply-To: <20220924004655.42D9418E@slippy.cwsent.com>
References:  <202208270418.27R4IkeL078154@gitrepo.freebsd.org> <0fccddc3-126d-f7b6-3b69-5fc1cbdb2775@FreeBSD.org> <7e773164-4317-ba17-1f26-1f382cf46fb3@FreeBSD.org> <20220924004655.42D9418E@slippy.cwsent.com>

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

On Fri, Sep 23, 2022 at 6:47 PM Cy Schubert <Cy.Schubert@cschubert.com>
wrote:

> In message <7e773164-4317-ba17-1f26-1f382cf46fb3@FreeBSD.org>, John
> Baldwin
> wri
> tes:
> > On 9/23/22 2:29 PM, John Baldwin wrote:
> > > On 8/26/22 9:18 PM, Warner Losh wrote:
> > >> The branch main has been updated by imp:
> > >>
> > >> URL:
> https://cgit.FreeBSD.org/src/commit/?id=df065f699f1ff819bb9607c44a675
> > 4275ab335ed
> > >>
> > >> commit df065f699f1ff819bb9607c44a6754275ab335ed
> > >> Author:     Warner Losh <imp@FreeBSD.org>
> > >> AuthorDate: 2022-08-26 21:46:33 +0000
> > >> Commit:     Warner Losh <imp@FreeBSD.org>
> > >> CommitDate: 2022-08-27 04:17:56 +0000
> > >>
> > >>       stand: More sensible defaults when ConOut is missing
> > >>
> > >>       When ConOut is missing, we used to default to serial. Except we
> did
> > it
> > >>       in the worst way possible by just setting the howto bits and not
> > >>       updating the console setting, which lead to weird behavior
> where we'
> > d
> > >>       get some things on the video port, others on serial.
> > >>
> > >>       Instead, set console to "efi,comconsole" for this case. Also set
> > >>       RB_MULTIPLE always (so we get dual consoles from the kernel)
> and or
> > in
> > >>       RB_SERIAL when we can't find GOPs that suggest the precense of
> a vid
> > eo
> > >>       console. This will put output in the most places and have a
> sensible
> > >>       default for 'primary' console.
> > >>
> > >>       Sponsored by:           Netflix
> > >>       Reviewed by:            emaste, manu
> > >>       Differential Revision:  https://reviews.freebsd.org/D36299
> > >
> > > One possibly surprising result of this is that I did not get dual
> console
> > > output on my rpi after this.  (Curiously this only affected my arm64
> image
> > > but not my armv7 image.)  Loader output goes to both, but kernel
> output is
> > > only on the video console (which I don't normally use for my pi).
> (Also,
> > > none of the ANSI escape sequences used by the loader work on the pi's
> video
> > > console, so once the menu starts it just looks like raw ANSI code
> garbage
> > > until the kernel starts booting.)
> > >
> > > Not sure if this warrants UPDATING as the effect is that the serial
> console
> > > seems to stop working?  The lack of working dual console output is
> perhaps
> > > the only real bug.  Not sure what is up there.
> >
> > FWIW, using 'console="comconsole,efi"' did not work as a workaround.
> Same
> > results (used the video console only for the kernel).  Had to use
> > 'console="comconsole"' in /boot/loader.conf.
>
> On one of my two machines with console="comconsole,vidconsole" failed to
> get past loading the kernel. Booting a rescue USB disk and replacing
> console with "comconsole" only resolved the hang.
>
> I'm not sure why it affected one and not the other as both are identical
> hardware.
>

This is indeed weird. Both EFI or BIOS boot?

Warner

--000000000000f036fc05e961e571
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 Fri, Sep 23, 2022 at 6:47 PM Cy Sc=
hubert &lt;<a href=3D"mailto:Cy.Schubert@cschubert.com">Cy.Schubert@cschube=
rt.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex">In message &lt;7e773164-4317-ba17-1f26-1f382cf46fb3@FreeBSD.org&gt;, =
John Baldwin <br>
wri<br>
tes:<br>
&gt; On 9/23/22 2:29 PM, John Baldwin wrote:<br>
&gt; &gt; On 8/26/22 9:18 PM, Warner Losh wrote:<br>
&gt; &gt;&gt; The branch main has been updated by imp:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3Ddf0=
65f699f1ff819bb9607c44a675" rel=3D"noreferrer" target=3D"_blank">https://cg=
it.FreeBSD.org/src/commit/?id=3Ddf065f699f1ff819bb9607c44a675</a><br>
&gt; 4275ab335ed<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; commit df065f699f1ff819bb9607c44a6754275ab335ed<br>
&gt; &gt;&gt; Author:=C2=A0 =C2=A0 =C2=A0Warner Losh &lt;imp@FreeBSD.org&gt=
;<br>
&gt; &gt;&gt; AuthorDate: 2022-08-26 21:46:33 +0000<br>
&gt; &gt;&gt; Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh &lt;imp@FreeBSD.org&gt=
;<br>
&gt; &gt;&gt; CommitDate: 2022-08-27 04:17:56 +0000<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0stand: More sensible defaults when =
ConOut is missing<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0When ConOut is missing, we used to =
default to serial. Except we did <br>
&gt; it<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0in the worst way possible by just s=
etting the howto bits and not<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0updating the console setting, which=
 lead to weird behavior where we&#39;<br>
&gt; d<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0get some things on the video port, =
others on serial.<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Instead, set console to &quot;efi,c=
omconsole&quot; for this case. Also set<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0RB_MULTIPLE always (so we get dual =
consoles from the kernel) and or <br>
&gt; in<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0RB_SERIAL when we can&#39;t find GO=
Ps that suggest the precense of a vid<br>
&gt; eo<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0console. This will put output in th=
e most places and have a sensible<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0default for &#39;primary&#39; conso=
le.<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Sponsored by:=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0Netflix<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Reviewed by:=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 emaste, manu<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Differential Revision:=C2=A0 <a hre=
f=3D"https://reviews.freebsd.org/D36299" rel=3D"noreferrer" target=3D"_blan=
k">https://reviews.freebsd.org/D36299</a><br>;
&gt; &gt; <br>
&gt; &gt; One possibly surprising result of this is that I did not get dual=
 console<br>
&gt; &gt; output on my rpi after this.=C2=A0 (Curiously this only affected =
my arm64 image<br>
&gt; &gt; but not my armv7 image.)=C2=A0 Loader output goes to both, but ke=
rnel output is<br>
&gt; &gt; only on the video console (which I don&#39;t normally use for my =
pi).=C2=A0 (Also,<br>
&gt; &gt; none of the ANSI escape sequences used by the loader work on the =
pi&#39;s video<br>
&gt; &gt; console, so once the menu starts it just looks like raw ANSI code=
 garbage<br>
&gt; &gt; until the kernel starts booting.)<br>
&gt; &gt; <br>
&gt; &gt; Not sure if this warrants UPDATING as the effect is that the seri=
al console<br>
&gt; &gt; seems to stop working?=C2=A0 The lack of working dual console out=
put is perhaps<br>
&gt; &gt; the only real bug.=C2=A0 Not sure what is up there.<br>
&gt;<br>
&gt; FWIW, using &#39;console=3D&quot;comconsole,efi&quot;&#39; did not wor=
k as a workaround.=C2=A0 Same<br>
&gt; results (used the video console only for the kernel).=C2=A0 Had to use=
<br>
&gt; &#39;console=3D&quot;comconsole&quot;&#39; in /boot/loader.conf.<br>
<br>
On one of my two machines with console=3D&quot;comconsole,vidconsole&quot; =
failed to <br>
get past loading the kernel. Booting a rescue USB disk and replacing <br>
console with &quot;comconsole&quot; only resolved the hang.<br>
<br>
I&#39;m not sure why it affected one and not the other as both are identica=
l <br>
hardware.<br></blockquote><div><br></div><div>This is indeed weird. Both EF=
I or BIOS boot?</div><div><br></div><div>Warner</div></div></div>

--000000000000f036fc05e961e571--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfp0uWFqu237%2B1L0zi57Z1KkXZjmuVx95Sxe7bCbGSdkeQ>