Пытаюсь сделать что-то вроде программного watchdog'а. При загрузке основного ядра вызывается kexec -p, подготавливается panic kernel (то же самое, что и основное). Далее, при падении ядра в панику и загрузке panic kernel, в rc.local производится запись в журнал и загрузка оригинального ядра через kexec. Но оно не грузится, а происходит сброс и запуск POST. И там зависает, так как BIOS подвисает при перезагрузке более чем в 90% случаев. И без меня он уже не поднимется.
Сделать автоматическую перезагрузку нельзя - POST не всегда запускается.
Выходит, что единственный способ перезагрузиться - делать такой двойной kexec. Как бы сделать так, чтобы второй вызов действительно отработал?
P.S. Я знаю, что проблема в железе, она появилась после установки дополнительной памяти и пропадает, если память вынуть. Память сама по себе рабочая, просто мат. плата почему-то не грузится.