nextboot.8 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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
  40. The
  41. .Nm
  42. utility allows specifying some combination of an alternate kernel, boot
  43. flags, and kernel environment for the next time the machine is booted.
  44. Once the
  45. .Xr loader 8
  46. loads in the new kernel information from the
  47. .Pa /boot/nextboot.conf
  48. file, it is disabled so in case the new kernel hangs the machine, once
  49. it is rebooted, the machine will automatically revert to its previous
  50. configuration.
  51. .Pp
  52. The options are as follows:
  53. .Bl -tag -width ".Fl o Ar options"
  54. .It Fl a
  55. This option causes
  56. .Nm
  57. to append to an existing configuration in
  58. .Pa /boot/nextboot.conf .
  59. By default any existing configuration is overwritten.
  60. .It Fl D
  61. Invoking
  62. .Nm
  63. with this
  64. option removes an existing
  65. .Nm
  66. configuration.
  67. .It Fl e Ar variable=value
  68. This option adds the provided variable and value to the kernel environment.
  69. The value is quoted when written to the
  70. .Nm
  71. configuration.
  72. .It Fl f
  73. This
  74. option disables the sanity checking which checks if the kernel really exists
  75. before writing the
  76. .Nm
  77. configuration.
  78. .It Fl k Ar kernel
  79. This option specifies a kernel directory relative to
  80. .Pa /boot
  81. to load the kernel and any modules from.
  82. .It Fl o Ar options
  83. This option
  84. allows 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
  89. The configuration file that the
  90. .Nm
  91. configuration is written into.
  92. .El
  93. .Sh EXAMPLES
  94. To boot the
  95. .Pa GENERIC
  96. kernel with the
  97. .Nm
  98. command:
  99. .Pp
  100. .Dl "nextboot -k GENERIC"
  101. .Pp
  102. To enable into single user mode with the normal kernel:
  103. .Pp
  104. .Dl "nextboot -o ""-s"" -k kernel"
  105. .Pp
  106. To 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
  114. The original
  115. .Nm
  116. manual page first appeared in
  117. .Fx 2.2 .
  118. It used a very different interface to achieve similar results.
  119. .Pp
  120. The current incarnation of
  121. .Nm
  122. appeared in
  123. .Fx 5.0 .
  124. .Sh AUTHORS
  125. This manual page was written by
  126. .An Gordon Tetlow Aq Mt gordon@FreeBSD.org .
  127. .Sh BUGS
  128. The
  129. .Nm
  130. code is implemented in the
  131. .Xr loader 8 .
  132. It is not the most thoroughly tested code.
  133. It is also my first attempt to write in Forth.
  134. .Pp
  135. Finally, it does some evil things like writing to the file system before it
  136. has been checked.
  137. If it scrambles your file system, do not blame me.