From mboxrd@z Thu Jan 1 00:00:00 1970 From: apelete@seketeli.org (Apelete Seketeli) Date: Wed, 29 Jun 2011 23:27:41 +0200 Subject: Debugging a custom kernel In-Reply-To: <4E0B55BE.7040906@basementcode.com> References: <20110629201441.GF5604@hermes> <4E0B55BE.7040906@basementcode.com> Message-ID: <20110629212741.GG5604@hermes> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On 29-Jun-11, Christopher Harvey wrote: > On 06/29/11 16:14, Apelete Seketeli wrote: > > Hello, > > > > I am working on a custom kernel, and I would like to add the necessary > > support to enable it to boot with qemu. > When you say "debug inside qemu", do you run > gdb qemu > or > gdb vmlinux "gdb vmlinux" actually. The focus is on the kernel, to know what going on during the boot process (since it doesn't boot in qemu). > > In order to achieve that I am > > trying to debug it inside qemu by attaching a gdb to it. > you do this by adding -S -s to the qemu boot parameters. > the from the gdb shell, target remote :1234. "qemu -S -kernel bzImage", then, using the monitor inside qemu I start a gdbserver to which I connect to debug the kernel. > > I still can't > > figure where the boot process is getting stuck with step-by-step > > execution, but it seems that the last function called is "delay_loop" > > from arch/x86/lib/delay.c. > Have you run the backtrace (bt) command from the gdb shell? That should > tell you what function is calling the __delay. I didn't, will try that and see if it helps. > > That function contains some assembly code, does someone know what it > > is supposed to do ? > Probably wait a specific amount of time. Since a compiler optimizes C > you can't write an accurate delay in C. The compiler wont optimize the > inline assembly. Okay, so I really need to know which function is calling the delay and go down from there. > Have you had any luck with a google search along the lines of "qemu gdb > kernel"? Running gdb with qemu caused me some headache, but I got it, as said before. Thanks for the tips, I'll try and see if I can get something useful. -- Apelete