В начале июля 2024 года в предлагаемых к реализации патчах для ядра Linux к логотипу пингвина на «чёрном (синем или другого цвета на выбор) экране смерти» при DRM Kernel Panic добавили QR-код.
Разработчик Джоселин Фалемпе из Red Hat опубликовала набор из четырёх патчей для реализации экрана паники с опцией qr_code. Ещё более интересным является то, что обработчик QR-кода DRM Panic написан на языке программирования Rust. Джоселин прокомментировала причину написания этого генератора QR-кода на Rust: «Нет особой причины делать это на Rust, я просто хотела изучить Rust и посмотреть, сможет ли он работать в ядре».
В Linux 6.10 появилась опция DRM Panic для показа нового экрана в случае Kernel Panic и ситуаций, когда поддержка VT может быть отключена. Эта новая функциональность ядра аналогична «Синему экрану смерти» Windows или благодаря открытому исходному коду может быть адаптирована для принятия других форм, таких как чёрный экран смерти и передача монохромных логотипов, а не изображений ASCII.
You can test the BSOD for yourself
If you’re on a system running Linux 6.10 or higher—or another system that already supports “DRM Panic”—then you can manually test the new Linux BSOD with the following command:
echo c > /proc/sysrq-trigger
In Linux 6.10, the new DRM panic handler will be integrated into the kernel for the first time. At launch, DRM & KMS drivers SimpleDRM, MGAG200, IMX, and AST are supported, with more to follow.
Nouveau-DRM panic patches are already in preparation, but will probably only be integrated in Linux 6.11 as they won’t be ready in time for Linux 6.10.
Поскольку сообщения об ошибках ядра могут быть довольно длинными, особенно если они включают в себя трассировку стека и иногда даже не помещают всё содержимое на один экран, то опубликованные патчи позволяют сжимать сообщения об ошибках ядра в QR-код. Это позволит легко зафиксировать сообщение об ошибке с помощью смартфона для последующего анализа или легко прикрепить его к отчёту об ошибках для изучения разработчиками.
Пример того, как обеспечивается возможность показывать QR-коды сообщений об ошибках на экране при DRM Panic в предлагаемых патчах.