.\"
-.\" Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+.\" Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
.\"
-.TH nvram 8 "December 12, 2000"
+.TH nvram 8 "October 28, 2003"
.SH NAME
-nvram \- manipulate Open Firmware NVRAM variables
+nvram \- manipulate firmware NVRAM variables
.SH SYNOPSIS
.B nvram
[
.B -f
.IR filename
] [
+.B -d
.IR name
-] [=
+] [
+.B -c
+] [
+.IR name
+[=
.IR value
-] ...
+]] ...
.SH DESCRIPTION
The
.I nvram
-command allows manipulation of Open Firmware NVRAM variables. It
+command allows manipulation of firmware NVRAM variables. It
can be used to get or set a variable. It can also be used to print
all of the variables or set a list of variables from a file.
+Changes to NVRAM variables are only saved by clean restart or shutdown.
.LP
In principle,
.IR name
can be any string. In practice, not all strings will be accepted.
-Old world machines have a fixed set of Open Firmware variables.
New World machines can create new variables as desired. Some variables
require administrator privilege to get or set.
.LP
Binary data can be set using the %xx notation, where xx is the hex
value of the byte. The type for new variables is always binary
data.
-.LP
-Two Open Firmware variables have special treatment on old world
-machines:
-.IR boot-command
-and
-.IR boot-args .
-As long as
-.IR boot-command
-starts with "# bootr," the
-.IR boot-args
-variable will be present. Getting or setting
-.IR boot-args
-will get or set the
-.IR boot-command
-while preserving the "# bootr". In most cases when setting boot arguments
-for the kernel, there is no need to test for old world and set
-.IR boot-command .
-Instead set
-.IR boot-args
-with the desired arguments.
.SH OPTIONS
+.\" ==========
.TP
-.B \-p
-Print all of the Open Firmware variables.
+.BI \-d " name"
+Deletes the named firmware variable.
+.\" ==========
.TP
.BI \-f " filename"
-Set Open Firmware variables from a text file. The file must be a
-list name=value statements. If the last character of a line is
-\\, the value will be continued to the next line.
+Set firmware variables from a text file. The file must be a
+list of "name value" statements. The first space on each line
+is taken to be the separator between "name" and "value". If
+the last character of a line is \\, the value extends to the next line.
+.\" ==========
+.TP
+.B \-x
+Use XML format for reading and writing variables.
+This option must be used before the
+.B \-p
+or
+.B \-f
+options, since arguments are processed in order.
+.TP
+.B \-c
+Delete all of the firmware variables.
+.TP
+.B \-p
+Print all of the firmware variables.
.SH EXAMPLES
.LP
.RS
.LP
Create a new variable, my-variable, containing a list of two
C-strings that is terminated by a NUL.
-.SH FILES
-.PD 0
-.TP 30
-.B /usr/share/nvram
-Files containing patches for old world machines.
+.LP
+.RS
+example% nvram -d my-variable
+.RE
+.LP
+Deletes the variable named my-variable.
.PD