Ошибки вы описываете может означать две вещи:
Это документирует хорошо известные гонки в xenstore
В псевдо TTY, необходимом для присоединения к консоли домена хранится в xenstore в несколько мест. Клиент консоли Xen устанавливает валид типа inotify на это значение, так что он может повторно подключаться к консоли, если происходит сбой дескриптора файловой системы. Однако требуется, чтобы эта информация была заполнена в xenstore с момента создания домена.
Если вы публикуете вывод информации о xm, было бы легко увидеть, имеете ли вы дело с хорошо известной гонкой. Терминал псевдо
Подложка не может быть создан
Общие причины для этого будет/DEV/PTS не установлен. Если вы запустите xenstore-ls /local/domain/{domain_id}
после запуска домена без опции -c
, вы увидите содержимое магазина для этого домена. Найдите линию (около дна), которая говорит:
tty="/dev/pts/{pty}"
Убедитесь, что pty действительно существует.
Демон xen console использует два фактических дескриптора файла, чтобы это произошло. Первый - дескриптор файла psuedo (полученный через xs_fileno()) на этой конкретной части информации в узле, поэтому он может опросить(), чтобы узнать, изменилась ли эта информация. Второй - это реальный FD, возвращаемый с open()
(да, O_NONBLOCK), который фактически читает/записывает в psuedo tty.
Похоже, что он даже не находит psuedo FD из xenstore, что означает, что поддержка pty, скорее всего, оспаривается.
Чтобы получить полезный ответ, вам нужно будет опубликовать более полезную информацию (любые сообщения журнала, фактическое содержимое startos.xm и т. Д.). –