У меня здесь NAS WD MyBook WorldEdition II (White Light). По сути, это ARM926EJ-S
с двумя подключенными дисками SATA. Некоторое время я запускал на нем Debian 6.0 Squeeze. Недавно я обновился до Debian 7.0 Wheezy с помощью специального шага в процессе обновления, который я опишу дальше.
К сожалению, система должна работать на ядре версии 2.6.24. Причина в том, что WD внесла в ядро некоторые патчи и какое-то время не обновляла его. Я (в настоящее время) не могу применить эти исправления к более новой версии ядра. В результате мне не удалось обновить libc
в пределах apt-get dist-upgrade
. В libc
для Wheezy требуется ядро минимум 2.6.26. Однако я скомпилировал libc
w.r.t. ядро 2.6.24. Это было объявлено на каком-то форуме и утверждалось, что оно работает. В конце концов, после обновления вручную libc
, apt-get dist-upgrade
успешно продолжено.
Однако после перезагрузки я не могу открыть оболочку через SSH. Вместо этого я получаю следующее сообщение об ошибке:
PTY allocation request failed on channel 0
[...]
stdin: is not a tty
Хотя я могу выполнять команды.
Изучив немного больше, я выяснил, что /var/log/auth.log
содержит:
sshd[4161]: error: openpty: Invalid argument
sshd[4161]: error: session_pty_req: session 0 alloc failed
Для openpty: Invalid argument
Я нашел только минимальную информацию, например это сообщение на форуме, где пользователь в конечном итоге переустановил SSH-сервер.
Дополнительная информация:
mount
показывает, что /dev/pts
установлен./dev/pts
однако пуст (что я считаю нормальным, если никто не вошел в систему).openssh-server
до сжатой версии не помогло.Итак, прямо сейчас я подошел к концу своих знаний. Было бы здорово иметь способ отладки, который Invalid argument
фактически передается openpty
.
Итак, я смог решить эту проблему, перекомпилировав libc
еще раз. Я предполагаю, что это должно быть что-то в цепочке инструментов, поскольку на этот раз я использовал chroot
особенно настроен на wheezy
.