1NVRAMTOOL(8) System Manager's Manual NVRAMTOOL(8)
2
3
4
6 nvramtool - read/write coreboot-related information
7
9 nvramtool [OPTS] [-n] -r NAME
10 nvramtool [OPTS] -e NAME
11 nvramtool [OPTS] -a
12 nvramtool [OPTS] -w NAME=VALUE
13 nvramtool [OPTS] -p INPUT_FILE
14 nvramtool [OPTS] -i
15 nvramtool [OPTS] -c [VALUE]
16 nvramtool [OPTS] -l [ARG]
17 nvramtool [OPTS] -d
18 nvramtool [OPTS] -Y
19 nvramtool [OPTS] -b OUTPUT_FILE
20 nvramtool [OPTS] -B INPUT_FILE
21 nvramtool [OPTS] -x
22 nvramtool [OPTS] -X DUMPFILE
23 nvramtool [OPTS] -v
24 nvramtool [OPTS] -h
25
27 nvramtool is a utility for reading/writing coreboot parameters and dis‐
28 playing information from the coreboot table.
29
30 The coreboot table resides in low physical memory. It is created at
31 boot time by coreboot, and contains various system information such as
32 the type of mainboard in use. It specifies locations in the CMOS (non‐
33 volatile RAM) where the coreboot parameters are stored.
34
35 This program is intended for (x86-based) systems that use coreboot.
36 For information about coreboot, see
37 https://www.coreboot.org/.
38
40 [-n] -r NAME
41 Show the value of the coreboot parameter given by NAME. If -n
42 is specified, show only the value. Otherwise show both parame‐
43 ter name and value.
44
45 -e NAME
46 Show all possible values for parameter given by NAME.
47
48 -a Show the names and values for all coreboot parameters.
49
50 -w NAME=VALUE
51 Assign VALUE to coreboot parameter given by NAME.
52
53 -p INPUT_FILE
54 Assign values to coreboot parameters according to the contents
55 of INPUT_FILE. The format of this file is described below.
56
57 -i This is similar to the -p option, except that the contents of
58 the input file are taken from standard input.
59
60 -c [VALUE]
61 If VALUE is present then set the CMOS checksum for the coreboot
62 parameters to VALUE. Otherwise, show the checksum value.
63
64 -l [ARG]
65 If ARG is present then show information from the coreboot table
66 as specified by ARG. Otherwise show all possible values for
67 ARG.
68
69 -d Do a low-level dump of the coreboot table.
70
71 -Y Write CMOS layout information to standard output. If redirected
72 to a file, the layout information may be used as input for the
73 '-y LAYOUT_FILE' option (see below).
74
75 -b OUTPUT_FILE
76 Write the contents of CMOS memory to the binary file OUT‐
77 PUT_FILE. The first 14 bytes of OUTPUT_FILE do not contain
78 actual CMOS data, and are always written as zeros. This is
79 because the first 14 bytes of the CMOS area do not contain CMOS
80 memory. These bytes are involved with the functioning of the
81 real time clock.
82
83 -B INPUT_FILE
84 Read binary data from INPUT_FILE and write the data to CMOS mem‐
85 ory. The first 14 bytes of INPUT_FILE are skipped and data is
86 written to CMOS starting at the 15th byte of the CMOS area.
87 This is because the first 14 bytes of the CMOS area do not con‐
88 tain CMOS memory. These bytes are involved with the functioning
89 of the real time clock.
90
91 -x Show a hex dump of all CMOS data. The first 14 bytes of the
92 dump do not contain actual CMOS data, and are always shown as
93 zeros. This is because the first 14 bytes of the CMOS area do
94 not contain CMOS memory. These bytes are involved with the
95 functioning of the real time clock.
96
97 -X DUMPFILE
98 Read binary data from DUMPFILE (presumably a CMOS dumpfile cre‐
99 ated using the -b OUTPUT_FILE option) and show a hex dump of the
100 data.
101
102 -v Show version information for this program.
103
104 -h Show a help message for this program.
105
107 In all cases above, [OPTS] evaluates to the following:
108
109 [-y LAYOUT_FILE | -t]
110
111 The '-y LAYOUT_FILE' option tells nvramtool to obtain CMOS layout
112 information from the contents of LAYOUT_FILE. Likewise, the '-t'
113 option tells nvramtool to obtain CMOS layout information from the CMOS
114 option table (contained within the coreboot table). If neither option
115 is specified, the CMOS option table is used by default. LAYOUT_FILE
116 follows the format of the cmos.layout files provided by coreboot.
117
118 If the coreboot installed on your system was built without specifying
119 CONFIG_HAVE_OPTION_TABLE, then the coreboot table will not contain a
120 CMOS option table. In this case, the '-y LAYOUT_FILE' option must be
121 used.
122
123 These two options are silently ignored when used in combination with
124 other options (such as -h, for instance) for which they are not appli‐
125 cable.
126
128 For the -p option, INPUT_FILE must consist of a sequence of lines such
129 that each line is either a blank line, a comment, or an assignment. A
130 blank line consists only of zero or more whitespace characters (spaces
131 and tabs). A comment is constructed as follows:
132
133 [ws]#[text]
134
135 Here, [ws] indicates optional whitespace characters and [text] indi‐
136 cates optional text. Blank lines and comments are both ignored. An
137 assignment is constructed as follows:
138
139 [ws]NAME[ws]=[ws]VALUE[ws]
140
141 Here, NAME is the name of a coreboot parameter and VALUE is the value
142 that will be assigned to NAME. VALUE is allowed to contain whitespace
143 characters, but it must begin and end with nonwhitespace characters.
144 Note that each comment must appear on a line by itself. If you attempt
145 to add a comment to the end of an assignment, then the comment will be
146 interpreted as part of VALUE. It is useful to observe that the output
147 produced by both the -a and the '[-n] NAME' options (without -n speci‐
148 fied) adheres to this file format.
149
151 This program does not implement any type of synchronization to ensure
152 that different processes don't stomp on each other when trying to
153 access the nonvolatile RAM simultaneously. Therefore, corruption of
154 the BIOS parameter values may occur if multiple instances of this pro‐
155 gram are executed concurrently.
156
158 David S. Peterson <dsp@llnl.gov> <dave_peterson@pobox.com>
159 Stefan Reinauer <stepan@coresystems.de>
160
161
162
163 September 2008 NVRAMTOOL(8)