nextboot
— specify
an alternate kernel and boot flags for the next reboot
nextboot |
[-af ] [-e
variable=value] [-k
kernel] [-o
options] |
The nextboot
utility allows specifying
some combination of an alternate kernel, boot flags, and kernel environment
for the next time the machine is booted. Once the
loader(8)
loads in the new kernel information from the
/boot/nextboot.conf file, it is disabled so in case
the new kernel hangs the machine, once it is rebooted, the machine will
automatically revert to its previous configuration.
The options are as follows:
-a
- This option causes
nextboot
to append to an
existing configuration in /boot/nextboot.conf. By
default any existing configuration is overwritten.
-D
- Invoking
nextboot
with this option removes an
existing nextboot
configuration.
-e
variable=value
- This option adds the provided variable and value to the kernel
environment. The value is quoted when written to the
nextboot
configuration.
-f
- This option disables the sanity checking which checks if the kernel really
exists before writing the
nextboot
configuration.
-k
kernel
- This option specifies a kernel directory relative to
/boot to load the kernel and any modules
from.
-o
options
- This option allows the passing of kernel flags for the next boot.
- /boot/nextboot.conf
- The configuration file that the
nextboot
configuration is written into.
To boot the GENERIC kernel with the
nextboot
command:
nextboot -k GENERIC
To enable into single user mode with the normal kernel:
nextboot -o "-s" -k
kernel
To remove an existing nextboot configuration:
nextboot -D
The original nextboot
manual page first
appeared in FreeBSD 2.2. It used a very different
interface to achieve similar results.
The current incarnation of nextboot
appeared in FreeBSD 5.0.
The nextboot
code is implemented in the
loader(8).
It is not the most thoroughly tested code. It is also my first attempt to
write in Forth.
Finally, it does some evil things like writing to the file system
before it has been checked. If it scrambles your file system, do not blame
me.