CONSOLEFS(4)                                         CONSOLEFS(4)

     NAME
          consolefs, C  - file system for console access

     SYNOPSIS
          aux/consolefs name dev [ name dev ...  ]

          C system

     DESCRIPTION
          To ease administration of multiple machines one might attach
          many serial console lines to a single computer.  Consolefs
          is a file system that lets multiple users simultaneously
          access these console lines.  Each name/dev pair represents
          the name of a console and the serial line device associated
          with it.  Consolefs presents a single level directory with
          two files per console: name and namectl.  Writes of name are
          equivalent to writes of dev and reads and writes of namectl
          are equivalent to reads and writes of devctl.  Consolefs
          broadcasts anything it reads from dev to all readers of
          name. Therefore, many users can con(1) to a name, see all
          console output, and enter commands to the console.

          To keep users from inadvertently interfering with one
          another, notification is broadcast to all readers whenever a
          user opens or closes name. For example, if user boris opens
          a console that users vlad and barney have already opened,
          all will read the message:

               [+boris, vlad, barney]

          If vlad then closes, boris and barney will read:

               [-vlad, boris, barney]

          Consolefs posts the client end of its 9P channel in
          /srv/consolefs; mount (see bind(1)) this file to see the
          consoles.  An example of 2 consoles complete with console
          logging is:

               % aux/consolefs bootes /dev/eia0 fornax /dev/eia1
               % mount /srv/consoles /mnt/consoles
               % ls -p /mnt/consoles
               bootes
               bootesctl
               fornax
               fornaxctl
               % cat /mnt/consoles/fornax >> /sys/log/fornax &
               % cat /mnt/consoles/bootes >> /sys/log/bootes &

          The rc(1) script C automates this procedure.  It uses

     Page 1                       Plan 9            (printed 12/21/24)

     CONSOLEFS(4)                                         CONSOLEFS(4)

          import(4) to connect to /mnt/consoles on the machine con-
          nected to all the consoles, then uses con(1) to connect to
          the console of the machine system. The script must be edited
          at installation by the local administration to identify the
          system that holds /mnt/consoles.

     FILES
          /srv/consoles  Client end of pipe to server.

     SOURCE
          /sys/src/cmd/aux/consolefs.l
          /rc/bin/C

     Page 2                       Plan 9            (printed 12/21/24)