title: Qemu arm Linux kernel boot debug, no source code
body: <p>I am using Qemu to learn some linux kernel development/hacking and wanted to debug the boot process of Linux (2.6.34.3). I have compiled for the ARM versatile platform and is using Codesourcerys arm-none-eabi crosscompiler. I am using Eclipse as the environment to build and debug using gdbserver.</p>
  
  <p><strong>So I have manged to successfully build and run the kernel in qemu but the problem is that I dont see any source code in the debugger at the boot process</strong>(at address 0), I can only see the disassembly code. However, when it switches to virtual memory at init/main.c (address over 0xC0000000), the source code appears and I can see the source code and step through and over code. Why is that? I want that from the beginning.</p>
  
  <p>Anyone have any tips on how to debug the boot process of Linux? All the guides in google shows how to debug the kernel, but they all show from start_kernel() (located in <strong>init/main.c</strong>) and not from the beginning of the boot process (in <strong>arch/arm/boot/compressed/head.S</strong>). Anyone with experience help please, thank you!</p>
  
  <blockquote>
    <p>Looked into the System.map in the root folder and there is only symbols for stuff from c0004000 (where the virtual address start). I load vmlinux into gdbserver to get debug information, Maybe thats why theres no source? </p>
  </blockquote>