Я работаю над встроенной системой, построенной на Atmel ARM926EJ-S на основе довольно старого ядра ARM ARMv5TEJ. У меня есть система Debian 8, которая раньше работала на этом оборудовании, пока мне не пришлось обновить ядро с 3.11.6 до 4.1.18. Обновление было необходимо для добавления поддержки определенного USB-оборудования.
Обновление дало мне то, что я хотел, за одним исключением: перезагрузка больше не работает. Точнее говоря, когда я записываю команду reboot
в консоль, система выключается, но в конце, вместо фактической перезагрузки процессора, она просто останавливается, требуя использования выключателя питания, чтобы заставить систему снова вверх.
Что могло вызвать это? Есть ли какие-нибудь типичные проблемы, которые я мог бы проверить?
Вот последние строки консоли отладки:
systemd-shutdown[1]: Sending SIGTERM to remaining processes...
systemd-journald[721]: Received SIGTERM from PID 1 (systemd-shutdow).
systemd-shutdown[1]: Sending SIGKILL to remaining processes...
systemd-shutdown[1]: Unmounting file systems.
systemd-shutdown[1]: Unmounting /sys/kernel/debug.
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
systemd-shutdown[1]: All filesystems unmounted.
systemd-shutdown[1]: Deactivating swaps.
systemd-shutdown[1]: All swaps deactivated.
systemd-shutdown[1]: Detaching loop devices.
systemd-shutdown[1]: All loop devices detached.
systemd-shutdown[1]: Detaching DM devices.
systemd-shutdown[1]: All DM devices detached.
systemd-shutdown[1]: Rebooting.
reboot: Restarting system
Reboot failed -- System halted
Я попробовал версию ядра 4.11.0, которая на данный момент является последней стабильной версией, как было предложено в комментариях к вопросу. Появились некоторые новые параметры перезагрузки, и теперь они работают.
Я не стал вникать в подробности, поэтому не могу сказать, было ли что-то сломано, а затем снова исправлено, или версия 4.1.18 могла быть исправлена при правильной настройке.