• Markaos
    link
    fedilink
    arrow-up
    14
    ·
    edit-2
    1 year ago

    No, kernel immediately stops execution of all normal processes once it gets into a kernel panic, and there’s no way for processes to hook into this functionality. It is intended to be the emergency stop state when the kernel realizes it doesn’t know what’s going on and it would be dangerous to continue executing. So it does the bare minimum to report the issue and then stops even its own execution.

    There’s also a softer variant of the kernel panic called kernel oops that should let the user choose to continue if they think the risk of data corruption doesn’t outweigh losing all data currently in memory. But just like the kernel panic, it is handled completely inside the kernel and userspace is frozen until the user chooses to continue.

    This is intended for situations where systemd runs into an unrecoverable issue while booting (for example you have misconfigured fstab and a required disk is missing). Without this, you just get thrown into the terminal with some error messages that might not make much sense to you if you don’t have a decent understanding of Linux. Now, you get a more newbie friendly message and a QR code that should bring you somewhere you can learn more about possible causes and troubleshooting steps.

    • LaggyKar@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Yeah, that makes sense. So it’s for the situations where you end up in an emergency shell.

      Some better presentation of kernel panic would be nice (which I think is the closest equivalent to a Windows BSoD), but I guess it would require kernel support.