term% cat index.txt CONSOLEFS(4) Kernel Interfaces Manual 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 ser‐
ial 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 equiva‐
lent 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, notifi‐
cation 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 import(4) to con‐
nect to /mnt/consoles on the machine connected 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
CONSOLEFS(4)