code: 9ferno

ref: 8bb05d8ca955ed85c7028d74371f1d23ce66a800
dir: /man/3/root/

View raw version
.TH ROOT 3 
.SH NAME
root \- the root file system
.SH SYNOPSIS
.nf
.B /
.B /chan
.B /dev
.B /env
.B /fd
.B /net
.B /net.alt
.B /nvfs
.B /prog
.B /root
.B /srv
.B /osinit.dis
.fi
.SH DESCRIPTION
This device is set up by the kernel to be the initial root of
the name space.
In the emulation environment,
the names in the one-level tree shown above are mostly just place-holders,
to allow a place on which to
.I bind
(see
.IR sys-bind (2)).
.PP
In the native environment, an arbitrary initial directory structure and
file content can be built-in
when the kernel is configured, but it will typically include at least
the names above, to act as mount points.
(See the discussion of the `root section' in
.IR conf (10.6).)
The required file
.B /osinit.dis
(not present in the emulation environment)
provides an executable Dis binary when read,
and is the first program invoked when initialising the system.
Other files needed for bootstrap
might also reside in this device.
.PP
Its local name
.B #/
can be used by programs outside the kernel, for instance to implement
.B newns
in
.IR newns (2).
.SH SOURCE
.B /emu/port/devroot.c
.br
.B /os/port/devroot.c
.SH SEE ALSO
.IR init (8)