xref: /freebsd-13.1/lib/libc/sys/reboot.2 (revision bdea3adc)
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.\" 3. 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 July 10, 2018
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_POWERCYCLE
62.It Dv RB_AUTOBOOT
63The default, causing the system to reboot in its usual fashion.
64.It Dv RB_ASKNAME
65Normally the system only prompts the user if the loader specified root
66file system has an error.
67This flag forces it to always prompt the user for the root partition.
68.It Dv RB_DFLTROOT
69Use the compiled in root device.
70Normally, the system uses the device from which it was booted
71as the root device if possible.
72(The default behavior is dependent on the ability of the bootstrap program
73to determine the drive from which it was loaded, which is not possible
74on all systems.)
75.It Dv RB_DUMP
76Dump kernel memory before rebooting; see
77.Xr savecore 8
78for more information.
79.It Dv RB_HALT
80The processor is simply halted; no reboot takes place.
81This option should be used with caution.
82.It Dv RB_POWERCYCLE
83After halting, the shutdown code will do what it can to turn
84off the power and then turn the power back on.
85This requires hardware support, usually an auxiliary microprocessor
86that can sequence the power supply.
87At present only the
88.Xr ipmi 4
89driver implements this feature.
90.It Dv RB_POWEROFF
91After halting, the shutdown code will do what it can to turn
92off the power.
93This requires hardware support.
94.It Dv RB_KDB
95Load the symbol table and enable a built-in debugger in the system.
96This option will have no useful function if the kernel is not configured
97for debugging.
98Several other options have different meaning if combined
99with this option, although their use may not be possible
100via the
101.Fn reboot
102system call.
103See
104.Xr ddb 4
105for more information.
106.It Dv RB_NOSYNC
107Normally, the disks are sync'd (see
108.Xr sync 8 )
109before the processor is halted or rebooted.
110This option may be useful if file system changes have been made manually
111or if the processor is on fire.
112.It Dv RB_REROOT
113Instead of rebooting, unmount all filesystems except the one containing
114currently-running executable, and mount root filesystem using the same
115mechanism which is used during normal boot, based on
116vfs.root.mountfrom
117.Xr kenv 1
118variable.
119.It Dv RB_RDONLY
120Initially mount the root file system read-only.
121This is currently the default, and this option has been deprecated.
122.It Dv RB_SINGLE
123Normally, the reboot procedure involves an automatic disk consistency
124check and then multi-user operations.
125.Dv RB_SINGLE
126prevents this, booting the system with a single-user shell
127on the console.
128.Dv RB_SINGLE
129is actually interpreted by the
130.Xr init 8
131program in the newly booted system.
132.El
133.Pp
134When no options are given (i.e.,
135.Dv RB_AUTOBOOT
136is used), the system is
137rebooted from file
138.Dq kernel
139in the root file system of unit 0
140of a disk chosen in a processor specific way.
141An automatic consistency check of the disks is normally performed
142(see
143.Xr fsck 8 ) .
144.Sh RETURN VALUES
145If successful, this call never returns.
146Otherwise, a -1 is returned and an error is returned in the global
147variable
148.Va errno .
149.Sh ERRORS
150.Bl -tag -width Er
151.It Bq Er EPERM
152The caller is not the super-user.
153.El
154.Sh SEE ALSO
155.Xr crash 8 ,
156.Xr halt 8 ,
157.Xr init 8 ,
158.Xr reboot 8 ,
159.Xr savecore 8
160.Sh HISTORY
161The
162.Fn reboot
163system call appeared in
164.Bx 4.0 .
165