Re: Linux/MANOS Kernel Debugger

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Tue Sep 05 2000 - 18:40:07 EST


Actually, the solution I think would be to use the MSDOS loader to boot
linux. I will look at grabbing the ELF code in Linux and loading Linux
from MSDOS -- if this can be accomplished you're there -- with an added
benfit. When I am debugging MANOS, the source files and OS actually
load from another NetWare server over a DOS connection (pretty slick) so
in my setup the files are always remote, though they could just as well
reside on a local fat partiton. Having DOS resident underneath gives
you all kinds of cool stuff you can do (you will note that while MANOS
is active in memory, DOS is still resident underneath and accessible).

Perhaps the way to do this unobtrusively would be a different loader for
Linux (a DOS loader) that will run the debugger underneath. The
debugger in MANOS is self contained, and you will note has few
dependencies on the OS code of any kind -- it was developed this way
intentionally. We just take the MANOS loader, rip out the kernel, load
Linux from LLOADER.386, and the debugger is there!

Jeff

Andi Kleen wrote:
>
> On Tue, Sep 05, 2000 at 05:20:53PM -0600, Jeff V. Merkey wrote:
> > I think it would not be hard to put this in. My problem is time and
> > "debugging the debugger" in Linux. The codes at our site and anyone who
> > wants to put it in is welcome to.
>
> I looked at the Manos code and it seems to require a functional file system
> to read the source code during debugging. When the kernel is stopped
> in the debugger it is definitely not safe to access anything like a file
> system in Linux (e.g. due to locking issues)
>
> Without accessing the file system the debugger couldn't
> do much more than assembly level debugging like KDB, which already works
> fine. Precaching source is not practical. Developing a separate independent
> file system module that works safely even from a stopped kernel (and would
> still be functional enough so that you can compile and edit files on it)
> would also be major work. I guess Manos solved it by using DOS for that,
> but this is simply not possible in Linux.
>
> The only sane way to do source level kernel debugging IMHO is to do
> it from a second machine (sane =~ without being in deadlock country), which
> also already works nicely using remote gdb + kgdb stub.
>
> -Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:23 EST