(Created page with "= What does early mean exactly? = For the purposes of this wiki, 'early' means before userspace comes up. Once userspace is available, there are many more options for saving t...") |
No edit summary |
||
Line 16: | Line 16: | ||
Append the following to the kernel command line of the kernel you want to debug | Append the following to the kernel command line of the kernel you want to debug | ||
<pre> | <pre> | ||
lpj=<value you extracted> loglevel=7 | lpj=<value you extracted> loglevel=7 boot_delay=<delay in ms> | ||
</pre> | </pre> | ||
Revision as of 01:19, 31 July 2015
What does early mean exactly?
For the purposes of this wiki, 'early' means before userspace comes up. Once userspace is available, there are many more options for saving the kernel panics. This can also be used for panics that happen while initializing
Getting more information
A common situation is to see the tail end of a kernel panic but not enough of it. You can add options to the kernel command line to see what else is going on.
First, you need to get the lpj (loops per jiffie) of your system:
$ dmesg | grep lpj [ 0.000062] Calibrating delay loop (skipped), value calculated using timer frequency.. 5387.31 BogoMIPS (lpj=2693655)
The lpj from this example is 2693655. Your lpj will probably be different.
Append the following to the kernel command line of the kernel you want to debug
lpj=<value you extracted> loglevel=7 boot_delay=<delay in ms>
For details: lpj sets the loops per jiffie. This is used to have delays early. loglevel=7 ensures all kernel messages get printed. bootdelay=$value adds a delay after each kernel message. The result is that all kernel messages should be printed out at a rate that can be read. You will have to experiment with the value for bootdelay, try starting with 50 and adjust it up or down depending on your needs.
NOTE using bootdelay will slow down your system bootup. You may see a long delay before the kernel messages come out. Be patient!