xref: /NextBSD/lib/libc/sys/reboot.2 (revision 84d351007654069f9643c8e4b4802a7f5f08ee42)
1.\" Copyright (c) 1980, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 4. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)reboot.2	8.1 (Berkeley) 6/4/93
29.\" $FreeBSD$
30.\"
31.Dd September 18, 2015
32.Dt REBOOT 2
33.Os
34.Sh NAME
35.Nm reboot
36.Nd reboot system or halt processor
37.Sh LIBRARY
38.Lb libc
39.Sh SYNOPSIS
40.In unistd.h
41.In sys/reboot.h
42.Ft int
43.Fn reboot "int howto"
44.Sh DESCRIPTION
45The
46.Fn reboot
47system call
48reboots the system.
49Only the super-user may reboot a machine on demand.
50However, a reboot is invoked
51automatically in the event of unrecoverable system failures.
52.Pp
53The
54.Fa howto
55argument
56is a mask of options; the system call interface allows the following
57options, defined in the include file
58.In sys/reboot.h ,
59to be passed
60to the new kernel or the new bootstrap and init programs.
61.Bl -tag -width RB_INITNAMEA
62.It Dv RB_AUTOBOOT
63The default, causing the system to reboot in its usual fashion.
64.It Dv RB_ASKNAME
65Interpreted by the bootstrap program itself, causing it to
66prompt on the console as to what file should be booted.
67Normally, the system is booted from the file
68.Dq Ar xx Ns No (0,0)kernel ,
69where
70.Ar xx
71is the default disk name,
72without prompting for the file name.
73.It Dv RB_DFLTROOT
74Use the compiled in root device.
75Normally, the system uses the device from which it was booted
76as the root device if possible.
77(The default behavior is dependent on the ability of the bootstrap program
78to determine the drive from which it was loaded, which is not possible
79on all systems.)
80.It Dv RB_DUMP
81Dump kernel memory before rebooting; see
82.Xr savecore 8
83for more information.
84.It Dv RB_HALT
85The processor is simply halted; no reboot takes place.
86This option should be used with caution.
87.It Dv RB_POWEROFF
88After halting, the shutdown code will do what it can to turn
89off the power.
90This requires hardware support.
91.It Dv RB_INITNAME
92An option allowing the specification of an init program (see
93.Xr init 8 )
94other than
95.Pa /sbin/init
96to be run when the system reboots.
97This switch is not currently available.
98.It Dv RB_KDB
99Load the symbol table and enable a built-in debugger in the system.
100This option will have no useful function if the kernel is not configured
101for debugging.
102Several other options have different meaning if combined
103with this option, although their use may not be possible
104via the
105.Fn reboot
106system call.
107See
108.Xr ddb 4
109for more information.
110.It Dv RB_NOSYNC
111Normally, the disks are sync'd (see
112.Xr sync 8 )
113before the processor is halted or rebooted.
114This option may be useful if file system changes have been made manually
115or if the processor is on fire.
116.It Dv RB_REROOT
117Instead of rebooting, unmount all filesystems except the one containing
118currently-running executable, and mount root filesystem using the same
119mechanism which is used during normal boot, based on
120vfs.root.mountfrom
121.Xr kenv 8
122variable.
123.It Dv RB_RDONLY
124Initially mount the root file system read-only.
125This is currently the default, and this option has been deprecated.
126.It Dv RB_SINGLE
127Normally, the reboot procedure involves an automatic disk consistency
128check and then multi-user operations.
129.Dv RB_SINGLE
130prevents this, booting the system with a single-user shell
131on the console.
132.Dv RB_SINGLE
133is actually interpreted by the
134.Xr init 8
135program in the newly booted system.
136.El
137.Pp
138When no options are given (i.e.,
139.Dv RB_AUTOBOOT
140is used), the system is
141rebooted from file
142.Dq kernel
143in the root file system of unit 0
144of a disk chosen in a processor specific way.
145An automatic consistency check of the disks is normally performed
146(see
147.Xr fsck 8 ) .
148.Sh RETURN VALUES
149If successful, this call never returns.
150Otherwise, a -1 is returned and an error is returned in the global
151variable
152.Va errno .
153.Sh ERRORS
154.Bl -tag -width Er
155.It Bq Er EPERM
156The caller is not the super-user.
157.El
158.Sh SEE ALSO
159.Xr crash 8 ,
160.Xr halt 8 ,
161.Xr init 8 ,
162.Xr reboot 8 ,
163.Xr savecore 8
164.Sh HISTORY
165The
166.Fn reboot
167system call appeared in
168.Bx 4.0 .
169