Re: Boot stops at loader after build/install cycle

From: bob prohaska <fbsd_at_www.zefox.net>
Date: Mon, 27 Mar 2023 18:30:55 UTC
On Mon, Mar 27, 2023 at 10:44:07AM -0700, Steve Rikli wrote:
> On Mon, Mar 27, 2023 at 06:52:37PM +0200, Warner Losh wrote:
> > On Mon, Mar 27, 2023, 6:49 PM bob prohaska <fbsd@www.zefox.net> wrote:
> > 
> > > For some time (months, I think) a Pi4 running -current
> > > has been stopping at the loader prompt on first reboot
> > > following a buildworld/buildkernel/installeverything
> > > cycle. The system uses a USB mechanical disk, no microSD
> > > and has never had trouble finding the disk.
> > >
> > > It seems to happen only on the first reboot, though
> > > I'm not absolutely certain  since I haven't been
> > > keeping notes.
> > >
> > > Is this intentional behavior?
> > 
> > No.  Should either always stop or never...
> 
> Shot in the dark: Bob, are you perhaps using serial console?
>
 
Yes, but no extraneous characters show up on the console during boot.


> My rpi4b had behavior similar to what you described for a while after I
> first got it; it was mostly pilot error: I am using serial console and
> had neglected to setup /boot.config with the proper serial parameters
> (e.g. "-Dh -S115200").
> 

I'm not (knowingly) using any special configuration, but the
arrangement is somewhat Byzantine: I'm sitting at a RasPiOS
host, ssh'ed into a Pi3 connected via FT232 usb-serial adapter
to the Pi4's serial console port using cu running on the Pi3.

The idea of noise on the serial line causing loader to stop
seems like the most plausible explanation, but I don't see
how that could happen only on first boot after upgrade. Of
course, the statistics are lousy and chance might account
for it. Other Pi2/3 hosts (but I think not the Pi4) somtimes
show strings of "@@@@@..." characters after the ssh-serial
link drops and is brought back up. However, they don't pause
at loader.  

Thanks for writing!

bob prohaska

> I think what was happening was a bit of leftover characters from my
> serial console server was getting interpretted by loader, so it stopped.
> I could always boot successfully from there, and a subsequent reboot
> from the serial console consistently "just worked" also, presumably
> because any stray characters and keystrokes on the line had cleared.
> 
> The clue for me was occasionally seeing a little ascii junk around the
> login: prompt on console -- I typically don't see that.
> 
> Once I setup /boot.config the loader didn't get interrupted. This is all
> with FreeBSD 13.1 from official arm64-aarch64-RPI image, fwiw, upgraded
> from src buildworld ever since.
> 
> Cheers,
> sr.