git: 91d24077024f - main - reboot: Implement -o to set kernel options for next boot
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 12 Feb 2024 18:53:45 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=91d24077024f5f36069e55b63d237f9034232455
commit 91d24077024f5f36069e55b63d237f9034232455
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2024-02-12 18:46:03 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-02-12 18:46:03 +0000
reboot: Implement -o to set kernel options for next boot
Sponsored by: Netflix
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D43829
---
sbin/reboot/reboot.8 | 7 +++++++
sbin/reboot/reboot.c | 5 ++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/sbin/reboot/reboot.8 b/sbin/reboot/reboot.8
index a60512fa0c59..ed055327b36a 100644
--- a/sbin/reboot/reboot.8
+++ b/sbin/reboot/reboot.8
@@ -39,18 +39,22 @@
.Op Fl DflNnpq
.Op Fl e Ar variable=value
.Op Fl k Ar kernel
+.Op Fl o Ar options
.Nm
.Op Fl cDdflNnpqr
.Op Fl e Ar variable=value
.Op Fl k Ar kernel
+.Op Fl o Ar options
.Nm fasthalt
.Op Fl DflNnpq
.Op Fl e Ar variable=value
.Op Fl k Ar kernel
+.Op Fl o Ar options
.Nm fastboot
.Op Fl dDflNnpq
.Op Fl e Ar variable=value
.Op Fl k Ar kernel
+.Op Fl o Ar options
.Sh DESCRIPTION
The
.Nm halt
@@ -146,6 +150,9 @@ This can happen when devices have been disconnected, such as with
.It Fl n
The file system cache is not flushed.
This option should probably not be used.
+.It Fl o Ar options
+This option
+allows the passing of kernel flags for the next boot.
.It Fl p
The system will turn off the power if it can.
If the power down action fails, the system
diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c
index a4be86a4983f..21acf7514388 100644
--- a/sbin/reboot/reboot.c
+++ b/sbin/reboot/reboot.c
@@ -180,7 +180,7 @@ main(int argc, char *argv[])
} else
howto = 0;
Dflag = fflag = lflag = Nflag = nflag = qflag = false;
- while ((ch = getopt(argc, argv, "cDde:k:lNnpqr")) != -1)
+ while ((ch = getopt(argc, argv, "cDde:k:lNno:pqr")) != -1)
switch(ch) {
case 'c':
howto |= RB_POWERCYCLE;
@@ -212,6 +212,9 @@ main(int argc, char *argv[])
nflag = true;
Nflag = true;
break;
+ case 'o':
+ add_env(&env, "kernel_options", optarg);
+ break;
case 'p':
howto |= RB_POWEROFF;
break;