1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
|
.TH NAMESPACE 4
.SH NAME
namespace \- structure of conventional Inferno name space
.SH SYNOPSIS
none
.SH DESCRIPTION
The list below gives an overview of the Inferno distribution
file tree, organised into related categories.
.TF /appl/cmd
.TP
.B /
The root directory. To programs running outside Inferno,
this corresponds to the directory in which Inferno has been
installed (e.g.
.B C:\einferno
under Windows).
.SS 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
.TP
.B /dev
The standard mount point
for devices (e.g.
.IR cons (3))
.TP
.B /env
The standard mount point for the
.IR env (3)
device.
.TP
.B /mnt
A directory containing mount points for applications.
.TP
.B /chan
An empty directory, used for holding
files created with
.IR sys-file2chan (2).
.TP
.B /net
The standard mount point directory for network interfaces.
.TP
.B /n
A directory containing mount points for file trees on local devices or imported from
remote systems.
.TP
.B /prog
An empty directory, the mount point for the
.IR prog (3)
device.
.TP
.B /nvfs
An empty directory, the mount point for a non-volatile RAM
filesystem on devices that have one.
.TP
.B /tmp
Mount point for private
directory of temporary files (eg,
.BI /usr/ user /tmp\c
).
.TP
.B /mail
Conventional place to mount mailboxes.
.SS Limbo applications
.TF /appl/cmd
.TP
.B /dis
Dis executables (commands)
.TP
.B /dis/lib
Dis libraries
.TP
.B /dis/wm
Dis commands that run under
.IR wm (1).
.TP
.B /man
Manual pages.
.TP
.B /doc
Documentation other than manual pages.
.TP
.B /appl
Source to Limbo applications.
.TP
.B /appl/cmd
Source to the commands in
.BR /dis
(as documented in Section 1).
.TP
.B /appl/wm
Source to the commands in
.B /dis/wm
.TP
.B /appl/lib
Source to the modules in
.B /dis/lib
(as documented in Section 2).
.TP
.B /module
Limbo module declarations
.SS Supporting data
.TF /appl/cmd
.TP
.B /acme
Programs and guide files specific to
.IR acme (1).
.TP
.B /fonts
Font definitions
.TP
.B /locale
Timezone and locale information
.TP
.B /icons
Contains
.IR image (6)
files used by programs.
.TP
.B /icons/tk
Default directory searched by tk's
.B -bitmap
option (see
.IR options (9)).
.TP
.B /lib
Static program-specific data.
.TP
.B /lib/ndb
Network configuration files
used by
.IR cs (8),
.IR dns (8)
and others.
.SS Administration
.TF /appl/cmd
.TP
.B /keydb
Storage of secrets and certificates on signers (authentication servers).
.TP
.B /services
A jungle of program-specific configuration files.
.SS Platform specific
.TF /appl/cmd
.TP
.BI / Platform
Binaries specific to
.IR Platform .
Current platforms include
.B Inferno
(native binaries),
.BR FreeBSD ,
.BR Hp ,
.BR Irix ,
.BR Linux ,
.BR Nt ,
.BR Plan9 ,
.B Solaris
and
.BR Unixware .
.TP
.BI / Platform / arch /bin
.TP
.BI / Platform / arch /lib
.TP
.BI / Platform / arch /include
.I Platform
specific binaries, libraries and include files
respectively.
.I Arch
is the architecture type, as defined
in
.IR 2c (10.1)
and held in the
.B $objtype
environment variable.
.TP
.B /usr
A directory containing user directories.
.SS Inferno source code
.TF /libmemlayerxx
.TP
.B /emu
Directory containing source specific to
.IR emu (1).
.TP
.B /emu/port
Cross-platform source for
.IR emu (1).
.BI /emu/ Platform
.IR Platform -specific
source for
.IR emu (1).
.TP
.B /libkfs
The emu version of
.IR kfs (3).
.TP
.B /libbio
.TP
.B /libregexp
Source to libraries used by hosted commands.
.TP
.B /lib9
Source to the Plan 9 emulation library, used by
emu and the hosted commands.
.TP
.B /libmemdraw
.TP
.B /libmemlayer
.TP
.B /libprefab
.TP
.B /libkern
.TP
.B /libkeyring
.TP
.B /libdraw
.TP
.B /libinterp
.TP
.B /libtk
Inferno source used by both native and hosted versions of
Inferno.
.TP
.B /asm
.TP
.B /limbo
Source to the two hosted Inferno commands of
the same name.
.TP
.B /utils
Source to hosted utilities run from
.IR emu (1)
via the
.IR cmd (3)
interface.
.TP
.B /tools
A directory containing source directories
for hosted tools used in building Inferno
(e.g.
.IR mk (10.1)).
.TP
.B /os
A directory holding source directories for the native versions of Inferno.
.TP
.B /os/init
Limbo source for platform-specific initialisation procedures.
.TP
.B /os/port
Portable native kernel source.
.TP
.BI /os/ arch
.IR Arch -specific
native kernel source.
.TP
.B /os/kfs
The native kernel version of
.IR kfs (3).
.SS "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
.TP
.B /dis
This must contain Dis modules for all the applications
you plan to run, and the modules they depend on.
.IR Disdep (1)
can be useful when trying to determine this set.
.TP
.B /dev
.TP
.B /env
.TP
.B /chan
.TP
.B /net
.TP
.B /prog
.TP
.B /tmp
All empty unwritable directories, place holders for mounted services and
applications.
Often these are provided by the built-in
.IR root (3).
.TP
.B /mnt
A directory containing mount points for applications.
.TP
.B /n
A directory containing mount points for remote file systems.
.SS "Files needed to run as a server"
.TF /appl/cmd
.TP
.B /keydb/keys
See
.IR keyfs (4),
.IR logind (8)
and
.IR signer (8).
.TP
.B /keydb/signerkey
See
.IR createsignerkey (8)
and
.IR logind (8).
.SS "Files needed to run the window manager"
.TF /appl/cmd
.TP
.B /fonts
At least one font must be provided - a default font for Tk
to use.
.TP
.B /icons/tk
This should contain icons used by applications that run within Tk.
.TP
.BI /user/ user
At least one user directory must exist if
.IR logon (1)
is to function correctly.
.SH SEE ALSO
.IR intro (1),
.IR root (3),
.IR namespace (6)
|