xref: /inferno-os/man/4/namespace (revision d0e1d143ef6f03c75c008c7ec648859dd260cbab)
NAMESPACE 4
NAME
namespace - structure of conventional Inferno name space
SYNOPSIS
none
DESCRIPTION
The list below gives an overview of the Inferno distribution file tree, organised into related categories. .TF /appl/cmd

/ The root directory. To programs running outside Inferno, this corresponds to the directory in which Inferno has been installed (e.g. C:\einferno under Windows).

Mount points
The following are all placeholders for filesystems that are mounted when Inferno is running. They contain no data files. Although an Inferno namespace is a dynamic entity, and devices can be mounted anywhere therein, many programs assume that devices have been mounted in the standard places, as suggested by the skeleton directories listed below. .TF /appl/cmd

/dev The standard mount point for devices (e.g. cons (3))

/env The standard mount point for the env (3) device.

/mnt A directory containing mount points for applications.

/chan An empty directory, used for holding files created with sys-file2chan (2).

/net The standard mount point directory for network interfaces.

/n A directory containing mount points for file trees on local devices or imported from remote systems.

/prog An empty directory, the mount point for the prog (3) device.

/nvfs An empty directory, the mount point for a non-volatile RAM filesystem on devices that have one.

/tmp Mount point for private directory of temporary files (eg, /usr/ user /tmp\c ).

/mail Conventional place to mount mailboxes.

Limbo applications
.TF /appl/cmd

/dis Dis executables (commands)

/dis/lib Dis libraries

/dis/wm Dis commands that run under wm (1).

/man Manual pages.

/doc Documentation other than manual pages.

/appl Source to Limbo applications.

/appl/cmd Source to the commands in /dis (as documented in Section 1).

/appl/wm Source to the commands in /dis/wm

/appl/lib Source to the modules in /dis/lib (as documented in Section 2).

/module Limbo module declarations

Supporting data
.TF /appl/cmd

/acme Programs and guide files specific to acme (1).

/fonts Font definitions

/locale Timezone and locale information

/icons Contains image (6) files used by programs.

/icons/tk Default directory searched by tk's -bitmap option (see options (9)).

/lib Static program-specific data.

/lib/ndb Network configuration files used by cs (8), dns (8) and others.

Administration
.TF /appl/cmd

/keydb Storage of secrets and certificates on signers (authentication servers).

/services A jungle of program-specific configuration files.

Platform specific
.TF /appl/cmd

/ Platform Binaries specific to Platform . Current platforms include Inferno (native binaries), FreeBSD , Hp , Irix , Linux , Nt , Plan9 , Solaris and Unixware .

/ Platform / arch /bin

/ Platform / arch /lib

/ Platform / arch /include Platform specific binaries, libraries and include files respectively. Arch is the architecture type, as defined in 2c (10.1) and held in the $objtype environment variable.

/usr A directory containing user directories.

Inferno source code
.TF /libmemlayerxx

/emu Directory containing source specific to emu (1).

/emu/port Cross-platform source for emu (1). /emu/ Platform Platform -specific source for emu (1).

/libkfs The emu version of kfs (3).

/libbio

/libregexp Source to libraries used by hosted commands.

/lib9 Source to the Plan 9 emulation library, used by emu and the hosted commands.

/libmemdraw

/libmemlayer

/libprefab

/libkern

/libkeyring

/libdraw

/libinterp

/libtk Inferno source used by both native and hosted versions of Inferno.

/asm

/limbo Source to the two hosted Inferno commands of the same name.

/utils Source to hosted utilities run from emu (1) via the cmd (3) interface.

/tools A directory containing source directories for hosted tools used in building Inferno (e.g. mk (10.1)).

/os A directory holding source directories for the native versions of Inferno.

/os/init Limbo source for platform-specific initialisation procedures.

/os/port Portable native kernel source.

/os/ arch Arch -specific native kernel source.

/os/kfs The native kernel version of kfs (3).

"Minimal name space"
The above is all very well on a system with lots of storage, but what is actually necessary for the running of Inferno? The following gives a quick summary of the structure that must be provided for Inferno to function correctly. .TF /appl/cmd

/dis This must contain Dis modules for all the applications you plan to run, and the modules they depend on. Disdep (1) can be useful when trying to determine this set.

/dev

/env

/chan

/net

/prog

/tmp All empty unwritable directories, place holders for mounted services and applications. Often these are provided by the built-in root (3).

/mnt A directory containing mount points for applications.

/n A directory containing mount points for remote file systems.

"Files needed to run as a server"
.TF /appl/cmd

/keydb/keys See keyfs (4), logind (8) and signer (8).

/keydb/signerkey See createsignerkey (8) and logind (8).

"Files needed to run the window manager"
.TF /appl/cmd

/fonts At least one font must be provided - a default font for Tk to use.

/icons/tk This should contain icons used by applications that run within Tk.

/user/ user At least one user directory must exist if logon (1) is to function correctly.

SEE ALSO
intro (1), root (3), namespace (6)