skip to primary navigationskip to content

Design Specification

The C4 Linux specification

This is the design specification agreed with the Computer Laboratory for C4 Linux, the forerunner of MCS-Linux. We did not achieve all aspects of it. These are labelled in the document.


On boot the MS boot loader will show a third boot option labelled "Linux" after the two standard NT options ("NT" and "NT in VGA mode"). Selecting this third option will boot the Linux image. After ten seconds this will boot the default image which will be NT.

On boot the Linux system will present six text virtual consoles and a graphical virtual console. The graphical console will be active by default. All seven will be running appropriate login programs. These will probably be mingetty on the text consoles and xdm on the graphical console.

The MCS management would like the Linux system to reboot if no user is logged in for a period of 30 minutes (returning an unattended system to NT).

Logging in and authentication

Any login will prompt for a userid and password. The login mechanism will authenticate these against the MCS-CENTRAL bindery. The user can login to more than one of the virtual consoles.

On successful authentication by FJC55 a local user fjc55 will be created if it doesn't already exist. Various Novell file systems will be mounted locally (list to be determined but including at least the user's MCS home directory and the print servers) and ~fjc55 will be the FJC55 home directory from the MCS.

On logout from the last of the virtual console being used the mounts from the MCS servers will be dropped.

If all the console sessions are left inactive for a period (currently 30 minutes) the user will be forcibly logged out. At this point the time-to-reboot counter will start. (This turned out not to be feasible.)

User environment

The window manager running by default will be fvwm2. Its menus and other aspects of its configuration need to be negotiated. (It's a relatively simple window manager but is considerably more modern than twm and fits into the Red Hat window manager model better than twm.)

The shell provided (and not changeable by the user) will be a version 2.x bash.

There shall be a large (512MB?) /tmp local to the system which will be a standard local Unix file system. Entries within /tmp should not be assumed to persist between sessions.

The PWF servers support the Novell "NFS Name Space" which does not quite provide full Unix file system semantics and as a consequence the following conditions hold on the user's home directory:

  • No hard links. (Attempting to create these gives an EPERM error.) Some software relies on hard links to build lock files or make "safe" copies. In particular the gnome session manager does and won't run with this file system.
  • No concept of Unix permissions. Special programs (supplied) are used to manipulate the Novell ACLs (which control read/write/create/delete access).

NB: At the moment we are unable to get password-changing or ACL-changing working via the Linux Novell client. (This puts the Linux client in the same situation as the Mac clients were a few years ago, I believe.) There are new versions of the Linux tools for Novell bubbling up, though, and we're hopeful that these will resolve the problems.

Network listeners

The following network listeners will be launched, either at boot or user login:

  • X
  • httpd, configured to provide access to the user's public_html directory and nothing else (via the URL http://MACHINE/~fjc55/)
  • identd
  • sshd for administrative access (no user access)

NB: No remote login for ordinary users.

Application software

NB: This section is especially vague.

Our intention is to install as many of the Red Hat RPMs as "make sense" together with any RPMs provided by the CL to add software they want for teaching.

Applications that "make sense":

  • any non-network software
  • any network client that doesn't need configuring in our context (ssh clients, ftp, telnet, rsh, ...)
  • any web client that can be configured, or wrapped, to use the web cache by default
  • any MUA that can be configured to use IMAP to talk to Hermes
  • any news client that can be configured to use NNTP with