namespace - structure of conventional Inferno name space
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.
- /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.