code: 9ferno

ref: 05cddab34908fa12e5a3968db92fde752b1d3cfe
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)