[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Serial console and gnumach/oskit-mach

From: Roland McGrath
Subject: Re: Serial console and gnumach/oskit-mach
Date: Mon, 2 Jul 2001 18:11:55 -0400 (EDT)

> I've been trying setup hurd on my second PC (which is not easy
> because it doen't have a separate monitor, keyboard or a
> network card that works with gnumach). I've worked out all
> the problems with the serial connection. But when I tried to

> look for documentation on how to set up gnumach/oskit-mach
> with a serial console, I was surprised by the lack thereof.

Well, I think I'm the only one who ever did it.  

> I've managed to find out that GNUmach does not support serial console.

Yeah, well.  Such is life.  Use oskit-mach!

The time I was last doing such things was when I wrote oskit-mach, which I
did to give gnumach all the handy kernel-hacking support that I appreciated
so much in my oskit-based hacking, so my memory is a bit hazy on what
precisely it did or didn't have when I decided it didn't have everything I

> Oskit-mach supports serial console, and even debugging
> over it, but there is next to no documentation on how to set it
> up. Roland mentioned that there are some explanations in the oskit
> docs, but I've only found information on how to add serial console
> debugging to a kernel (I assume that has already been done for oskit-mach).

oskit-mach uses the oskit's canonical facilities for all of the boot-up
process, so this stuff all comes for free with the package.

> So what are the command line options for oskit-mach to turn on
> these features? Roland also mentioned that the oskit distribution
> contains example kernels with gdb serial debugging support. I guess
> they weren't clearly labeled, which ones are they?

All of them.  You can't see the debugging support code's implementation by
looking at a kernel's `main' function--the first instruction of `main' is
what you're looking at with gdb when you boot the kernel with debugging
enabled.  The debugging support is in the multiboot startup code and
support libraries that are what call the `main' function in any oskit kernel.

Be sure to build oskit with --enable-debug.  I don't think you need that
for gdb support to work, but it's always a good thing to have.  Set
GDB_COM=[12] and BAUD=nnnn.  If you have only one serial port connected, it
will be both your console and your gdb line, and the oskit's trivial
console code will use gdb protocol magic to make output appear in gdb but
console input is not really possible without constantly detaching and
reattaching gdb.  If you have two serial ports, use CONS_COM=1 GDB_COM=2.

Since it's really a generic oskit question, I'd like to pass this buck over
to oskit-users@cs.utah.edu and have you ask for help there (starting with
example kernels).  The details are described in the oskit manual, though
perhaps not in the most straightforward ways.  There are industrious Utahns
there who might improve the documentation in response to your confusion.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]