On Thu, Jun 25, 2020 at 2:55 AM Robin Atwood <ro...@binro.org> wrote:
>
> On Wed, 24 Jun 2020 13:31:30 -0400
> tedheadster <tedheads...@gmail.com> wrote:
>
> > Robin,
> >  are you comfortable just going with a bare-bones console and build a
> > new kernel where you _disable_ CONFIG_FB? That might do it.
> >
> > Alternately, you can hook up a serial cable to another computer and
> > set "console=ttyS0,115200n8".
>
> I will try that, if it works it will at least give me a chance to look
> at the error messages.
>
> I don't think I have any serial cables!
>

While serial consoles are one solution, I'd take a look at network
consoles.  They're FAR easier to manage on commodity hardware.  All
you really need is another host on the network that can run netcat.

I stick this in my /etc/grub/default - or otherwise get it onto the
command line in the bootloader:
netconsole=@/,6666@192.168.1.1

That tells the kernel to send all console output over UDP to
192.168.1.1:6666.  If you have multiple interfaces/etc you might need
to expand that command line a bit.  I have no idea how it comes up
with the sending IP - if you care about that you can specify it.  I'm
guessing it doesn't run DHCP - but this is just plain UDP so it is
one-way and there is no need for acks to get back to the sender.

On the destination host I run:
nc -u -l -p 6666

(nc is provided by the netcat package - a very basic tool that should
be available everywhere - probably on non-linux operating systems
also)

Start up the reception part before you try booting the host you're
troubleshooting, because it is just going to send packets blind into
the ether and if nothing is listening they're gone.  Obviously
netconsole is a very simple implementation so that it can run during
early boot.  It is very good for capturing panics/etc.

I don't know how it compares with serial console in terms of how early
it starts.  I think it does capture stuff very early in boot though -
both systems require a degree of hardware initialization before they
can work, but both are also very simple.

This does need to be enabled in the kernel.

You can also enable this on a running kernel but of course that does
no good for issues during boot.  Full docs are at:
https://www.kernel.org/doc/Documentation/networking/netconsole.txt


-- 
Rich

Reply via email to