Looking for FreeBSD u-boot/kernel debugging help (BeagleBone Black)
Ian Lepore
ian at FreeBSD.org
Sun Apr 27 17:05:00 UTC 2014
On Sat, 2014-04-26 at 16:34 -0700, Bakul Shah wrote:
> On Sat, 26 Apr 2014 18:29:35 EDT Winston Smith <smith.winston.101 at gmail.com> wrote:
> > I also discovered that if I disconnect my
> > serial terminal and reconnect it, it seems to bring the FreeBSD kernel
> > to a debug prompt of sorts -- is there any documentation on this?
>
> I suspect disconnecting/reconnecting the serial cable looks like
> a break to the kernel and that drops it into the debugger "ddb".
> [Though I can't seem to send a real break to it using kermit!]
>
> Type c and hit return to continue.
>
> To disable this behavior I think you can do
> sysctl debug.kbd.break_to_debugger=0
> or add
> debug.kbd.break_to_debugger=0
> to /etc/sysctl.conf
>
> man 1 ddb -- for debugger commands
> man 4 ddb -- for kernel config options to control ddb behavior
That's exactly correct -- connecting the cable sometimes leads to a
spurious break being asserted on the line (a break is just a long
sequence of zeroes with no start/stop/data bit transitions).
It's possible to configure a kernel without BREAK_TO_DEBUGGER and with
ALT_BREAK_TO_DEBUGGER. That eliminates most line-noise spurious breaks
but still allows the <CR> ~ ^b break sequence (which could theoretically
happen in a burst of line noise, but not likely). A few of our kernels
have BREAK_TO_DEBUGGER in the config, and I think that's probably a
mistake. Most folks these days don't know anything about breaks or how
to generate one on purpose.
Any objections to removing them and using only the safer ALT_BREAK
option?
-- Ian
More information about the freebsd-arm
mailing list