nextboot(8): add a -a option for appending to a configuration.
By default, a nextboot invocation will clobber any existing nextboot configuration. MFC after: 2 weeks Relnotes: yes
This commit is contained in:
parent
33b454938a
commit
8553156023
@ -24,7 +24,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd March 17, 2015
|
||||
.Dd April 9, 2016
|
||||
.Dt NEXTBOOT 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -32,6 +32,7 @@
|
||||
.Nd "specify an alternate kernel and boot flags for the next reboot"
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl a
|
||||
.Op Fl e Ar variable=value
|
||||
.Op Fl f
|
||||
.Op Fl k Ar kernel
|
||||
@ -53,6 +54,12 @@ configuration.
|
||||
.Pp
|
||||
The options are as follows:
|
||||
.Bl -tag -width ".Fl o Ar options"
|
||||
.It Fl a
|
||||
This option causes
|
||||
.Nm
|
||||
to append to an existing configuration in
|
||||
.Pa /boot/nextboot.conf .
|
||||
By default any existing configuration is overwritten.
|
||||
.It Fl D
|
||||
Invoking
|
||||
.Nm
|
||||
|
@ -26,6 +26,7 @@
|
||||
#
|
||||
# $FreeBSD$
|
||||
|
||||
append="NO"
|
||||
delete="NO"
|
||||
kenv=
|
||||
force="NO"
|
||||
@ -48,12 +49,17 @@ add_kenv()
|
||||
}
|
||||
|
||||
display_usage() {
|
||||
echo "Usage: nextboot [-e variable=value] [-f] [-k kernel] [-o options]"
|
||||
echo " nextboot -D"
|
||||
cat <<-EOF
|
||||
Usage: nextboot [-e variable=value] [-f] [-k kernel] [-o options]
|
||||
nextboot -D
|
||||
EOF
|
||||
}
|
||||
|
||||
while getopts "De:fk:o:" argument ; do
|
||||
while getopts "aDe:fk:o:" argument ; do
|
||||
case "${argument}" in
|
||||
a)
|
||||
append="YES"
|
||||
;;
|
||||
D)
|
||||
delete="YES"
|
||||
;;
|
||||
@ -106,7 +112,19 @@ df -Tn "/boot/" 2>/dev/null | while read _fs _type _other ; do
|
||||
EOF
|
||||
done
|
||||
|
||||
cat > ${nextboot_file} << EOF
|
||||
set -e
|
||||
|
||||
nextboot_tmp=$(mktemp $(dirname ${nextboot_file})/nextboot.XXXXXX)
|
||||
|
||||
if [ ${append} = "YES" -a -f ${nextboot_file} ]; then
|
||||
cp -f ${nextboot_file} ${nextboot_tmp}
|
||||
fi
|
||||
|
||||
cat >> ${nextboot_tmp} << EOF
|
||||
nextboot_enable="YES"
|
||||
$kenv
|
||||
EOF
|
||||
|
||||
fsync ${nextboot_tmp}
|
||||
|
||||
mv ${nextboot_tmp} ${nextboot_file}
|
||||
|
Loading…
Reference in New Issue
Block a user