Source: fai
Version: 4.3.2
Severity: important

Hello!

While preparing to migrate our installed FAI systems to Jessie, we stumbled
into the problem that it was no longer possible to log on to systems being
installed via SSH:

===========================================================================

glaubitz@jessie64:~> ssh root@vs76
X11 forwarding request failed on channel 0
PTY allocation request failed on channel 0

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
stdin: is not a tty

===========================================================================

This is a result of devpts not being mounted to /dev/pts in the NFSROOT
(while it is actually mounted under /target/dev/pts). Manually mounting
devpts on the client with a local console fixes the issue temporarily.

Looking at the main fai script, fai_init() actually tries to mount devpts
which will, however, only succeed if devpts is already mounted as it
checks for the devpts string in /proc/mounts which shows all currently
mounted filesystems:

  if grep -wq devpts /proc/mounts; then
      mount -t devpts devpts /dev/pts
  fi

On Wheezy this works as the client has already mounted devpts at boot time
and the attempted mount just results in an error message which is ignored:

  mount: devpts already mounted or /dev/pts busy
  mount: according to mtab, /dev/pts is already mounted on /dev/pts

On Jessie, devpts is *not* mounted at boot time (probably due to a change
in Debian Live, but I haven't found the reason yet) and consequently, the
mount call is never executed as "devpts" is not present in /proc/mounts.

I am also not sure why the mount condition for devpts is actually that
devpts is already mounted somewhere. Maybe this was rather intended
to check for "devpts" in /proc/filesystems, the list of filesystems
the currently loaded kernel understands?

In any case, devpts has to be mounted by the init scripts (systemd does
this automatically) or, in this case, by the fai main script as Debian's
kernel are usually compiled without CONFIG_DEVTMPFS_MOUNT.

Cheers,
Adrian


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to