xref: /freebsd/sbin/reboot/nextboot.8 (revision 2008043f386721d58158e37e0d7e50df8095942d)
1.\" Copyright (c) 2002 Gordon Tetlow
2.\" 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.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd March 29, 2022
26.Dt NEXTBOOT 8
27.Os
28.Sh NAME
29.Nm nextboot
30.Nd "specify an alternate kernel and boot flags for the next reboot"
31.Sh SYNOPSIS
32.Nm
33.Op Fl af
34.Op Fl e Ar variable=value
35.Op Fl k Ar kernel
36.Op Fl o Ar options
37.Nm
38.Fl D
39.Sh DESCRIPTION
40The
41.Nm
42utility allows specifying some combination of an alternate kernel, boot
43flags, and kernel environment for the next time the machine is booted.
44Once the
45.Xr loader 8
46loads in the new kernel information from the
47.Pa /boot/nextboot.conf
48file, it is disabled so in case the new kernel hangs the machine, once
49it is rebooted, the machine will automatically revert to its previous
50configuration.
51.Pp
52The options are as follows:
53.Bl -tag -width ".Fl o Ar options"
54.It Fl a
55This option causes
56.Nm
57to append to an existing configuration in
58.Pa /boot/nextboot.conf .
59By default any existing configuration is overwritten.
60.It Fl D
61Invoking
62.Nm
63with this
64option removes an existing
65.Nm
66configuration.
67.It Fl e Ar variable=value
68This option adds the provided variable and value to the kernel environment.
69The value is quoted when written to the
70.Nm
71configuration.
72.It Fl f
73This
74option disables the sanity checking which checks if the kernel really exists
75before writing the
76.Nm
77configuration.
78.It Fl k Ar kernel
79This option specifies a kernel directory relative to
80.Pa /boot
81to load the kernel and any modules from.
82.It Fl o Ar options
83This option
84allows the passing of kernel flags for the next boot.
85.El
86.Sh FILES
87.Bl -tag -width ".Pa /boot/nextboot.conf" -compact
88.It Pa /boot/nextboot.conf
89The configuration file that the
90.Nm
91configuration is written into.
92.El
93.Sh EXAMPLES
94To boot the
95.Pa GENERIC
96kernel with the
97.Nm
98command:
99.Pp
100.Dl "nextboot -k GENERIC"
101.Pp
102To enable into single user mode with the normal kernel:
103.Pp
104.Dl "nextboot -o ""-s"" -k kernel"
105.Pp
106To remove an existing nextboot configuration:
107.Pp
108.Dl "nextboot -D"
109.Sh SEE ALSO
110.Xr boot 8 ,
111.Xr freebsd-update 8 ,
112.Xr loader 8
113.Sh HISTORY
114The original
115.Nm
116manual page first appeared in
117.Fx 2.2 .
118It used a very different interface to achieve similar results.
119.Pp
120The current incarnation of
121.Nm
122appeared in
123.Fx 5.0 .
124.Sh AUTHORS
125This manual page was written by
126.An Gordon Tetlow Aq Mt gordon@FreeBSD.org .
127.Sh BUGS
128The
129.Nm
130code is implemented in the
131.Xr loader 8 .
132It is not the most thoroughly tested code.
133It is also my first attempt to write in Forth.
134.Pp
135Finally, it does some evil things like writing to the file system before it
136has been checked.
137If it scrambles your file system, do not blame me.
138