Linux при панике показывает QR-код — скрипт восстанавливает из него лог краха

Decode kernel panic from QR Code photo

Утилита на Python сканирует фото экрана с QR-кодом паники ядра через ZXingReader, извлекает параметр z из URL, декодирует его (17 десятичных цифр на 7 байт little-endian) и распаковывает zlib в читаемый лог. Всё работает локально, без сети. Требуется Python 3 и ZXingReader в PATH. Результат выводится в stdout или файл.

Формат паники: 17 десятичных цифр на каждые 7 байт в little-endian.
  1. jolmg

    Для контекста: судя по всему, дистрибутивы иногда кодируют kernel panic в виде URL в QR-коде. Текст паники кодируется как числовой параметр. Например:

    https://jexposit.fedorapeople.org/drm-panic/#?a=x86_64&v=6.17.0-rc2+&z=64016708045408584681305161836175901065787789727173061004041671633088591186286363786562987653814347942450168430510852681524688435157911241621365859153819732690406649525043247774110913752991389170560320455163781439079986337356710273501164645667555084821480237326301207073831710176482850121513079951455217310046422632328303510474264780788030301611164774573122018172510304672562667379831349924441560360997679573341401750485619388375493[... ещё много цифр]

    Это из изображения QR-кода по адресу:

    https://discussion.fedoraproject.org/t/f45-change-proposal-d...

    Этот скрипт нужен, чтобы декодировать такие kernel panic, не отправляя их во внешний сервис.

    В конкретном примере URL паника не обязательно отправляется на сервер, потому что она находится во фрагменте URL (`#`), но всё же.

  2. natas

    Думаю, это действительно отличная идея! Хотелось бы увидеть это в upstream

Ещё за этот день

2026-11-01