NAMESPACE(4) Device Drivers Manual NAMESPACE(4)

namespace - structure of conventional Inferno name space

none

The list below gives an overview of the Inferno distribution file tree, organised into related categories.

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

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.

/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).
/mail
Conventional place to mount mailboxes.

/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

/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.

/keydb
Storage of secrets and certificates on signers (authentication servers).
/services
A jungle of program-specific configuration files.

/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.

/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).

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.

/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.

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

/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.

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