diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 8155f735c..288f4e925 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -272,6 +272,82 @@ + + + + Display a user-friendly message when a kernel panic occurs + + + + This will make the kernel correctly display the message + in case a kernel panic happens. Without this, it would be more + difficult to diagnose a panic: if , + , or etc. are not enabled, + the relevent message lines can be flushed alway because the VGA + console is too small; if etc. are + enabled but this option is not, the display can be completely + disrupted when the kernel panics. + + + + The DRM panic handler requires some support from the DRM + driver to work correctly, so it may not work with some DRM + drivers. To ensure it functional before the root file system + is successfully mounted (normally most kernel panic cases to + be diagnosed by a LFS user happen before or during mounting + the root file system, for example the panic caused by an + incorrect setting in the kernel command + line of grub.cfg), build the DRM driver + for your GPU (for example ) + as a kernel module instead of a part of the kernel so it won't + be loaded before sucessfully mounting the root file system. + Doing so also avoids the necessity of embedding some + firmware + into an initramfs or the kernel image in case the DRM driver + requires the firmware to be available on initialization. + + + + + + + + + Panic screen formatter + + + + Set this to kmsg to make sure the last + kernel messages lines are displayed when a kernel panic happens. + The default, user, would make the kernel show + only a user friendly panic message which is not + helpful on diagnostic. The third choice, + qr_code, would make the kernel to display a + QR code containing the last kernel message lines. The QR code + can be decoded with an external device (for example a smart phone) + into much more message lines than how much + kmsg can display, but doing so requires a Rust + compiler that LFS does not provide. + + + + + + + Mark VGA/VBE/EFI FB as generic system framebuffer + and + Simple framebuffer driver + + + These allow to use the VESA framebuffer (or the EFI + framebuffer if booting the LFS system via UEFI) as a DRM device. + The VESA framebuffer will be set up by GRUB (or the EFI + framebuffer will be set up by the UEFI firmware), so the DRM panic + handler can function before the GPU-specific DRM driver is + loaded. + + +