Skip to contentSkip to conversation

Small remote debug kernels??

DISCUSSION Liam Davies 3 participants 3 messages Feb 23, 2001 – Feb 28, 2001 MIPS

lore
Share & tools
lore
#0 lore raw

I would like to remote debug my kernel.
On the Cobalt box I have there is (allegedly) a bootloader bug that stops the
kernel being any larger than 1M/2.5M, compressed/uncompressed. I have stripped the kernel bare but can't get much lower than 6M uncompressed.

Is there any way I can have a mini-remote debugging kernel??

Thanks
Liam

#1 lore raw
Quoted 4 lines · Liam Davies

I would like to remote debug my kernel.
On the Cobalt box I have there is (allegedly) a bootloader bug that stops the
kernel being any larger than 1M/2.5M, compressed/uncompressed.

I've never read the bootloader code during my Cobalt time but supposedly it reserves a fixed amount of memory for loading and decompressing the kernel. As the firmware uses gzip routines to decompress the loaded kernel and has an entire Linux kernel in it for reading the real kernel from an ext2 filesystem it must be covered by the GPL and you can ask Cobalt^WSun for the source to change this limit.

Quoted 4 lines

I have stripped the kernel bare but can't get much lower than 6M uncompressed.

Is there any way I can have a mini-remote debugging kernel??

Either your kernel isn't really stripped or you have a huge configuration. The 64-bit Origin kernel which I'm using here is 3037235 (unstripped) / 1874064 (striped) in size. Did you strip symbols only and left debug information in the object file?

Ralf

#2 lore raw
In reply to Liam Davies

Hi Liam,

Quoted 8 lines · Liam Davies

I would like to remote debug my kernel.
On the Cobalt box I have there is (allegedly) a bootloader bug that stops the
kernel being any larger than 1M/2.5M, compressed/uncompressed. I have stripped the kernel bare but can't get much lower than 6M uncompressed.

Is there any way I can have a mini-remote debugging kernel??

It sounds like the kernel on the target system still has the debug symbols in it. The symbols are actually only needed in the kernel on the host end. (present on the same machine as gdb.)

You can strip the kernel you put on your target with

	strip --strip-unneeded vmlinux

This should allow you to use more then a bare kernel.

It seems that you have fallen prey to a common misconception about remote debugging. Hope this helps.

Regards,

Curtis Veit
[email protected]