Headless Pi (без монитора/клавы) с boot loop требует особого подхода — нет SSH, нет логов в реальном времени. Методология ниже.

Шаг 1: получить визуальный канал

Подключить монитор по HDMI к Pi. Если есть клавиатура — подключить тоже (понадобится для emergency mode), но не критично.

Шаг 2: фотографировать каждую стадию loop’а

Текст быстро прокручивается, экран чёрный при reset. Делай серию фото:

  • Самое начало (Booting Linux, первые systemd lines)
  • Середина (mount, fsck)
  • Конец (близко к login prompt) — критично! последняя строка перед чёрным = trigger

Если можно — снять видео одного цикла на телефон, потом разобрать по кадрам.

Шаг 3: измерить время цикла

От первого текста до чёрного экрана:

  • ~30–60 сек → ранний systemd timeout (mount unit без nofail)
  • ~60–120 сек → late stage (Docker, smartd, multi-user.target)
  • ~3+ мин → fsck на большом FS
  • Стабильно одинаковое → software trigger (watchdog/timeout)
  • Разное при каждом цикле → hardware (PSU, thermal)

Шаг 4: классификация последней строки

Последнее на экранеПричина
Kernel panic - not syncingSoC деградировал / RAM / прошивка
Oops:, BUG:Kernel bug, чаще driver
undervoltage detectedPSU/кабель не тянет
over_temperaturethermal protection (фан мёртв?)
Job for X timed outsystemd timeout на конкретный unit
Reached target Multi-User System потом silentsmartd/Docker/что-то после multi-user
Started OpenBSD SSH server потом silentservice crash в самом конце
Dependency failed for /X.mountmount-блок без nofail
Started Emergency Modemount fail остановил boot, ждёт root password
Просто чёрный без сообщенияHardware reset (watchdog/PSU/SoC)

Шаг 5: чтение логов через Mac

Если Pi не отвечает, подключить SSD к Mac:

# kern.log — kernel messages, ОЧЕНЬ важно
tail -200 /Volumes/rootfs/var/log/kern.log
 
# syslog — systemd + services
tail -200 /Volumes/rootfs/var/log/syslog
 
# Archived
gzcat /Volumes/rootfs/var/log/kern.log.2.gz | grep -iE 'panic|oops|uas|reset|undervolt|over_temperature'

Шаг 6: типичные триггеры на Pi 4

  • UAS bug на Argon-кейсеuas_eh_abort_handler в kern.log
  • Watchdog с invalid timeoutFailed to set timeout to <N>s: Invalid argument
  • Mount unit без nofailDependency failed for /X потом emergency
  • lvm2-monitor.service блокирует boot при отсутствующих PV — Monitoring of LVM2 mirrors (0s / no limit)
  • fsck.repair=yes на большом ext4 после нескольких crash’ей — fsck идёт часами
  • Heat без фана — SoC throttle → reset
  • DC-jack / USB-C кабель — under-voltage под нагрузкой

Шаг 7: фиксы без shell

Когда диагноз есть — через правки на Mac:

Связано


Мета

Область:: 00 Linux