241 lines
6.9 KiB
Groff
241 lines
6.9 KiB
Groff
.\"***************************************************************************\
|
|
.\" nvramtool.8
|
|
.\"***************************************************************************
|
|
.\" Please also read the file DISCLAIMER which is included in this software
|
|
.\" distribution.
|
|
.\"
|
|
.\" This program is free software; you can redistribute it and/or modify it
|
|
.\" under the terms of the GNU General Public License (as published by the
|
|
.\" Free Software Foundation) version 2, dated June 1991.
|
|
.\"
|
|
.\" This program is distributed in the hope that it will be useful, but
|
|
.\" WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
|
.\" conditions of the GNU General Public License for more details.
|
|
.\"***************************************************************************/
|
|
.TH NVRAMTOOL 8 "September 2008"
|
|
.SH NAME
|
|
nvramtool \- read/write coreboot-related information
|
|
.SH SYNOPSIS
|
|
.B "nvramtool [OPTS] [-n] -r NAME"
|
|
.br
|
|
.B "nvramtool [OPTS] -e NAME"
|
|
.br
|
|
.B "nvramtool [OPTS] -a"
|
|
.br
|
|
.B "nvramtool [OPTS] -w NAME=VALUE"
|
|
.br
|
|
.B "nvramtool [OPTS] -p INPUT_FILE"
|
|
.br
|
|
.B "nvramtool [OPTS] -i"
|
|
.br
|
|
.B "nvramtool [OPTS] -c [VALUE]"
|
|
.br
|
|
.B "nvramtool [OPTS] -l [ARG]"
|
|
.br
|
|
.B "nvramtool [OPTS] -d"
|
|
.br
|
|
.B "nvramtool [OPTS] -Y"
|
|
.br
|
|
.B "nvramtool [OPTS] -b OUTPUT_FILE"
|
|
.br
|
|
.B "nvramtool [OPTS] -B INPUT_FILE"
|
|
.br
|
|
.B "nvramtool [OPTS] -x"
|
|
.br
|
|
.B "nvramtool [OPTS] -X DUMPFILE"
|
|
.br
|
|
.B "nvramtool [OPTS] -v"
|
|
.br
|
|
.B "nvramtool [OPTS] -h"
|
|
.SH DESCRIPTION
|
|
.B "nvramtool"
|
|
is a utility for reading/writing coreboot parameters and displaying
|
|
information from the coreboot table.
|
|
|
|
The coreboot table resides in low physical memory. It is created at boot
|
|
time by coreboot, and contains various system information such as the type
|
|
of mainboard in use. It specifies locations in the CMOS (nonvolatile RAM)
|
|
where the coreboot parameters are stored.
|
|
|
|
This program is intended for (x86-based) systems that use coreboot. For
|
|
information about coreboot, see
|
|
.br
|
|
https://www.coreboot.org/.
|
|
.SH PARAMETERS
|
|
.TP
|
|
.B "[-n] -r NAME"
|
|
Show the value of the coreboot parameter given by
|
|
.B "NAME."
|
|
If
|
|
.B "-n"
|
|
is specified, show only the value. Otherwise show both parameter name and
|
|
value.
|
|
.TP
|
|
.B "-e NAME"
|
|
Show all possible values for parameter given by
|
|
.B "NAME."
|
|
.TP
|
|
.B "-a"
|
|
Show the names and values for all coreboot parameters.
|
|
.TP
|
|
.B "-w NAME=VALUE"
|
|
Assign
|
|
.B "VALUE"
|
|
to coreboot parameter given by
|
|
.B "NAME."
|
|
.TP
|
|
.B "-p INPUT_FILE"
|
|
Assign values to coreboot parameters according to the contents of
|
|
.B "INPUT_FILE."
|
|
The format of this file is described below.
|
|
.TP
|
|
.B "-i"
|
|
This is similar to the
|
|
.B "-p"
|
|
option, except that the contents of the input file are taken from standard
|
|
input.
|
|
.TP
|
|
.B "-c [VALUE]"
|
|
If
|
|
.B "VALUE"
|
|
is present then set the CMOS checksum for the coreboot parameters to
|
|
.B "VALUE."
|
|
Otherwise, show the checksum value.
|
|
.TP
|
|
.B "-l [ARG]"
|
|
If
|
|
.B "ARG"
|
|
is present then show information from the coreboot table as specified by
|
|
.B "ARG."
|
|
Otherwise show all possible values for
|
|
.B "ARG."
|
|
.TP
|
|
.B "-d"
|
|
Do a low-level dump of the coreboot table.
|
|
.TP
|
|
.B "-Y"
|
|
Write CMOS layout information to standard output. If redirected to a file,
|
|
the layout information may be used as input for the
|
|
.B "'-y LAYOUT_FILE'"
|
|
option (see below).
|
|
.TP
|
|
.B "-b OUTPUT_FILE"
|
|
Write the contents of CMOS memory to the binary file
|
|
.B "OUTPUT_FILE."
|
|
The first 14 bytes of
|
|
.B "OUTPUT_FILE"
|
|
do not contain actual CMOS data, and are always written as zeros. This is
|
|
because the first 14 bytes of the CMOS area do not contain CMOS memory. These
|
|
bytes are involved with the functioning of the real time clock.
|
|
.TP
|
|
.B "-B INPUT_FILE"
|
|
Read binary data from
|
|
.B "INPUT_FILE"
|
|
and write the data to CMOS memory. The first 14 bytes of
|
|
.B "INPUT_FILE"
|
|
are skipped and data is written to CMOS starting at the 15th byte of the CMOS
|
|
area. This is because the first 14 bytes of the CMOS area do not contain CMOS
|
|
memory. These bytes are involved with the functioning of the real time clock.
|
|
.TP
|
|
.B "-x"
|
|
Show a hex dump of all CMOS data. The first 14 bytes of the dump do not
|
|
contain actual CMOS data, and are always shown as zeros. This is because the
|
|
first 14 bytes of the CMOS area do not contain CMOS memory. These bytes are
|
|
involved with the functioning of the real time clock.
|
|
.TP
|
|
.B "-X DUMPFILE"
|
|
Read binary data from
|
|
.B "DUMPFILE"
|
|
(presumably a CMOS dumpfile created using the
|
|
.B "-b OUTPUT_FILE"
|
|
option) and show a hex dump of the data.
|
|
.TP
|
|
.B "-v"
|
|
Show version information for this program.
|
|
.TP
|
|
.B "-h"
|
|
Show a help message for this program.
|
|
.SH "OPTIONS"
|
|
In all cases above,
|
|
.B "[OPTS]"
|
|
evaluates to the following:
|
|
|
|
.B " [-y LAYOUT_FILE | -t]"
|
|
|
|
The
|
|
.B "'-y LAYOUT_FILE'"
|
|
option tells nvramtool to obtain CMOS layout information from the contents of
|
|
.B "LAYOUT_FILE."
|
|
Likewise, the
|
|
.B "'-t'"
|
|
option tells nvramtool to obtain CMOS layout information from the CMOS option
|
|
table (contained within the coreboot table). If neither option is
|
|
specified, the CMOS option table is used by default.
|
|
.B "LAYOUT_FILE"
|
|
follows the format of the
|
|
.B "cmos.layout"
|
|
files provided by coreboot.
|
|
|
|
If the coreboot installed on your system was built without specifying
|
|
.B "CONFIG_HAVE_OPTION_TABLE,"
|
|
then the coreboot table will not contain a CMOS option table. In this case,
|
|
the
|
|
.B "'-y LAYOUT_FILE'"
|
|
option must be used.
|
|
|
|
These two options are silently ignored when used in combination with other
|
|
options (such as
|
|
.B "-h,"
|
|
for instance) for which they are not applicable.
|
|
.SH FILE FORMAT
|
|
For the
|
|
.B "-p"
|
|
option,
|
|
.B "INPUT_FILE"
|
|
must consist of a sequence of lines such that each line is either a blank
|
|
line, a comment, or an assignment. A blank line consists only of zero or
|
|
more whitespace characters (spaces and tabs). A comment is constructed as
|
|
follows:
|
|
|
|
.B " [ws]#[text]"
|
|
|
|
Here,
|
|
.B "[ws]"
|
|
indicates optional whitespace characters and
|
|
.B "[text]"
|
|
indicates optional text. Blank lines and comments are both ignored. An
|
|
assignment is constructed as follows:
|
|
|
|
.B " [ws]NAME[ws]=[ws]VALUE[ws]"
|
|
|
|
Here,
|
|
.B "NAME"
|
|
is the name of a coreboot parameter and
|
|
.B "VALUE"
|
|
is the value that will be assigned to
|
|
.B "NAME."
|
|
.B "VALUE"
|
|
is allowed to contain whitespace characters, but it must begin and end with
|
|
nonwhitespace characters. Note that each comment must appear on a line by
|
|
itself. If you attempt to add a comment to the end of an assignment, then the
|
|
comment will be interpreted as part of
|
|
.B "VALUE."
|
|
It is useful to observe that the output produced by both the
|
|
.B "-a"
|
|
and the
|
|
.B "'[-n] NAME'"
|
|
options (without
|
|
.B "-n"
|
|
specified) adheres to this file format.
|
|
.SH BUGS
|
|
This program does not implement any type of synchronization to ensure that
|
|
different processes don't stomp on each other when trying to access the
|
|
nonvolatile RAM simultaneously. Therefore, corruption of the BIOS parameter
|
|
values may occur if multiple instances of this program are executed
|
|
concurrently.
|
|
.SH AUTHORS
|
|
David S. Peterson <dsp@llnl.gov> <dave_peterson@pobox.com>
|
|
.br
|
|
Stefan Reinauer <stepan@coresystems.de>
|