]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc/sys/reboot.2
Merge bmake-20180512
[FreeBSD/FreeBSD.git] / lib / libc / sys / reboot.2
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 October 24, 2017
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
45 The
46 .Fn reboot
47 system call
48 reboots the system.
49 Only the super-user may reboot a machine on demand.
50 However, a reboot is invoked
51 automatically in the event of unrecoverable system failures.
52 .Pp
53 The
54 .Fa howto
55 argument
56 is a mask of options; the system call interface allows the following
57 options, defined in the include file
58 .In sys/reboot.h ,
59 to be passed
60 to the new kernel or the new bootstrap and init programs.
61 .Bl -tag -width RB_INITNAMEA
62 .It Dv RB_AUTOBOOT
63 The default, causing the system to reboot in its usual fashion.
64 .It Dv RB_ASKNAME
65 Interpreted by the bootstrap program itself, causing it to
66 prompt on the console as to what file should be booted.
67 Normally, the system is booted from the file
68 .Dq Ar xx Ns No (0,0)kernel ,
69 where
70 .Ar xx
71 is the default disk name,
72 without prompting for the file name.
73 .It Dv RB_DFLTROOT
74 Use the compiled in root device.
75 Normally, the system uses the device from which it was booted
76 as the root device if possible.
77 (The default behavior is dependent on the ability of the bootstrap program
78 to determine the drive from which it was loaded, which is not possible
79 on all systems.)
80 .It Dv RB_DUMP
81 Dump kernel memory before rebooting; see
82 .Xr savecore 8
83 for more information.
84 .It Dv RB_HALT
85 The processor is simply halted; no reboot takes place.
86 This option should be used with caution.
87 .It Dv RB_POWERCYCLE
88 After halting, the shutdown code will do what it can to turn
89 off the power and then turn the power back on.
90 This requires hardware support, usually an auxiliary microprocessor
91 that can sequence the power supply.
92 At present only the
93 .Xr ipmi 4
94 driver implements this feature.
95 .It Dv RB_POWEROFF
96 After halting, the shutdown code will do what it can to turn
97 off the power.
98 This requires hardware support.
99 .It Dv RB_INITNAME
100 An option allowing the specification of an init program (see
101 .Xr init 8 )
102 other than
103 .Pa /sbin/init
104 to be run when the system reboots.
105 This switch is not currently available.
106 .It Dv RB_KDB
107 Load the symbol table and enable a built-in debugger in the system.
108 This option will have no useful function if the kernel is not configured
109 for debugging.
110 Several other options have different meaning if combined
111 with this option, although their use may not be possible
112 via the
113 .Fn reboot
114 system call.
115 See
116 .Xr ddb 4
117 for more information.
118 .It Dv RB_NOSYNC
119 Normally, the disks are sync'd (see
120 .Xr sync 8 )
121 before the processor is halted or rebooted.
122 This option may be useful if file system changes have been made manually
123 or if the processor is on fire.
124 .It Dv RB_REROOT
125 Instead of rebooting, unmount all filesystems except the one containing
126 currently-running executable, and mount root filesystem using the same
127 mechanism which is used during normal boot, based on
128 vfs.root.mountfrom
129 .Xr kenv 1
130 variable.
131 .It Dv RB_RDONLY
132 Initially mount the root file system read-only.
133 This is currently the default, and this option has been deprecated.
134 .It Dv RB_SINGLE
135 Normally, the reboot procedure involves an automatic disk consistency
136 check and then multi-user operations.
137 .Dv RB_SINGLE
138 prevents this, booting the system with a single-user shell
139 on the console.
140 .Dv RB_SINGLE
141 is actually interpreted by the
142 .Xr init 8
143 program in the newly booted system.
144 .El
145 .Pp
146 When no options are given (i.e.,
147 .Dv RB_AUTOBOOT
148 is used), the system is
149 rebooted from file
150 .Dq kernel
151 in the root file system of unit 0
152 of a disk chosen in a processor specific way.
153 An automatic consistency check of the disks is normally performed
154 (see
155 .Xr fsck 8 ) .
156 .Sh RETURN VALUES
157 If successful, this call never returns.
158 Otherwise, a -1 is returned and an error is returned in the global
159 variable
160 .Va errno .
161 .Sh ERRORS
162 .Bl -tag -width Er
163 .It Bq Er EPERM
164 The caller is not the super-user.
165 .El
166 .Sh SEE ALSO
167 .Xr crash 8 ,
168 .Xr halt 8 ,
169 .Xr init 8 ,
170 .Xr reboot 8 ,
171 .Xr savecore 8
172 .Sh HISTORY
173 The
174 .Fn reboot
175 system call appeared in
176 .Bx 4.0 .