Using Buildroot, I'm attempting to make a custom kernel build. After building the image and booting it on a VirtualBox environment, the kernel always panics after the GRUB stage. General summary of what I see:
] CPU: 0 PID: 1 ...
] Hardware name: innotek GmbH ...
] <some registers>
] Call Trace:
] [<c0a1c995>] dump_stack+...
] [<........>] panic+...
] [<........>] do_exit+...
] ...
] Kernel Offset: 0x0 from 0xc0400000 ...
] ---[ end Kernel panic - not syncing: Attempted to kill init! ...
Now, I'm assuming this is only the tail of the message that I want to see, but I have no means to view it (ex: cannot Shift-PageUp). When the panic occurs, the above text is never rendered for a second on the screen.
I first stumbled upon a KernelDebuggingTricks page which states:
Slowing down kernel messages on boot
... [Build] the kernel with the following option enabled:
CONFIG_BOOT_PRINTK_DELAY=y
And boot the machine with the following kernel boot parameter:
boot_delay=N
I have confirmed that my kernel (3.16) had built with the CONFIG_BOOT_PRINTK_DELAY
option and have tried setting boot_delay
to 10, 500 and 1000 milliseconds in my GRUB. Even with the 1000 millisecond delay set (and waiting for a good ~5 minutes), the entire kernal panic log message is spewed out in a blink of an eye.
Does anyone have any suggestions on how I can view the root of the kernel panic? The only thing I'm thinking now is manually adding sleeps into the kernel code (which is something I'd like to avoid).