Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Feb 2005 17:19:17 +0100
From:      Gerald Heinig <gheinig@syskonnect.de>
To:        Stephan Uphoff <ups@tree.com>
Cc:        hackers@freebsd.org
Subject:   Re: Firewire blues
Message-ID:  <4210CF85.6050902@syskonnect.de>
In-Reply-To: <1108352789.6309.9948.camel@palm.tree.com>
References:  <420731DD.3050206@syskonnect.de> <1107798981.6309.9.camel@palm.tree.com> <42088232.1030001@syskonnect.de> <4208B9C2.6020007@syskonnect.de> <1107888844.6309.221.camel@palm.tree.com> <4209C640.3070502@syskonnect.de> <1107964038.6309.1137.camel@palm.tree.com> <420B938D.2040708@syskonnect.de> <1108352789.6309.9948.camel@palm.tree.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Stephan,

first off, thanks very much for your continuing help on this. It's very 
much appreciated.

I compiled a kernel with exactly the same options that you cited below. 
I tried booting it and it stops before the kernel probe routines and 
waits for the FireWire GDB connect.
I can't understand how you managed to reboot the target machine without 
it entering the debugger and waiting for the remote gdb attach. My 
machine refuses to do anything else.
I tried unsetting boot_ddb and boot_gdb in the loader, as well as 
clearing the -d and -g flags in the boot_flags variable. No deal, it 
still stops and waits for the remote gdb attach.
When I try to attach from the debug machine, gdb complains about 
operation not supported.

Also, I don't understand how your command line

kgdb -r :5555 -t 11-22-33-44-55...

can work. I just get

':5555: no such file or directory'

when I try that. The kgdb manpage also states that it needs a device 
after the -r option, so I presume your kgdb version works somewhat 
differently to mine.

I tried the following devices after kgdb's -r option:

/dev/fwmem0.0, /dev/fw0, /dev/net/fwe0, /dev/net/fwip0

None worked.

I tried taking the dcons/dcons_crom options out of the kernel and 
loading the corresponding modules before booting the kernel. This sort 
of worked in that I could then start a dconschat session on the debug 
machine and enter the ddb debugger. Switching to gdb didn't work, since 
the gdb backend was missing. When the kernel booted, it complained about 
there being no debug ports for gdb present, so it didn't enable the gdb 
backend support.

Stephan Uphoff wrote:
> 
> 
> OK - I finally managed to try this on a newly installed 5.3-RELEASE.
> 
> I copied the GENERIC config file (to GENERIC.debug) and added a few
> lines
> 
>  diff -u GENERIC GENERIC.debug
> --- GENERIC     Sun Oct 24 14:02:52 2004
> +++ GENERIC.debug       Mon Feb 14 03:15:21 2005
> @@ -24,6 +24,14 @@
>  cpu            I686_CPU
>  ident          GENERIC
>  
> +makeoptions     DEBUG=-g                # Build kernel with gdb(1)
> debug symbols
> +options         KDB                     # Enable kernel debugger
> support.
> +options         DDB                     # Support DDB.
> +options         GDB                     # Support remote GDB.
> +options         ALT_BREAK_TO_DEBUGGER
> +device dcons
> +device dcons_crom
> +
>  # To statically compile in device wiring instead of /boot/device.hints
>  #hints         "GENERIC.hints"         # Default places to look for
> devices.
>  

This is pretty much what I had before.

> 
> Then configured/compiled/installed the GENERIC.debug kernel.
> Copied the kernel.debug file in the GENERIC.debug compile directory to
> the debug station and rebooted the target machine.

Why does your machine boot without waiting for a debug connection? With 
the debug options mentioned above, my kernel waits for the remote 
Firewire gdb connection here, which doesn't work.
Are there any loader flags I have to set?

> 
> After reboot I set the default debugger to gdb
> 
> 	target# sysctl -w debug.kdb.current=gdb
> and entered the debugger
> 	target# sysctl -w debug.kdb.enter=1
> 
> 	
> On the debugging station I entered
> 	debug 1# dconschat -br -G 5555 -t <firewire address of target>
> 
> and then in another window
> 	debug 2#   kgdb -r :5555 kernel.debug
---------------------------^^^^^

This doesn't work on my system: kgdb complains about ':5555 : no such 
file or directory'

> 
> And it just worked for me.
> I have to admit that my debugging machine is not 5.3 .. but I believe I
> used the same setup with pre 5.3 userland before.
> 
> Let me know if you can repeat my steps.
> If not then I can set up a 5.3 debugging station in the next days.

Thanks again for your patience.

Cheers,
Gerald



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4210CF85.6050902>