Debugging low level kernel crashes

From Elvanör's Technical Wiki
Jump to navigation Jump to search

Establishing the root cause of a freeze

  • If you get hangs / freezes / crashes in your machine, the first thing is to establish the root cause of the problem. For this you must try to ssh into the target machine from another PC.
  • If you can ssh and restart X normally, the bug is probably in the X server or on the desktop environment (KDE).
  • If you can ssh but you cannot restart or kill the X server, try to look at the kernel logs (dmesg). There's a chance the issue is due to the nvidia kernel module.
  • If you cannot SSH at all, the issue is probably in some parts of the kernel not related to X / nvidia / video, and that's the hardest problems to solve. It could be a hardware issue too.

Kernel Configuration

  • You need to activate some options in the kernel configuration. Everything is under the section "Kernel Hacking".

Non GPL modules

  • If you run non GPL modules such as the nvidia drivers, it is very difficult to get a kernel to build with some debugging support, as it needs the modules to be GPL too. Most of the times, the system will refuse to boot.

Alt SysRq

  • This combination of keys (plus another one) allows to control the kernel even if X is completely crashed. You can output interesting information (this goes through the system logger though), or give the system some commands.
  • Note that you must activate this key in the kernel configuration; you can have it even with binary non GPL kernel modules.