2025-02-16 11:09:01 +01:00
|
|
|
|
nvme-fw-commit(1)
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
NAME
|
|
|
|
|
----
|
|
|
|
|
nvme-fw-commit - Used to verify and commit a firmware image.
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
|
--------
|
|
|
|
|
[verse]
|
|
|
|
|
'nvme fw-commit' <device> [--slot=<slot> | -s <slot>]
|
|
|
|
|
[--action=<action> | -a <action>]
|
|
|
|
|
[--bpid=<boot-partid> | -b <boot-partid> ]
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
|
-----------
|
|
|
|
|
For the NVMe device given, send an nvme Firmware Commit admin command
|
|
|
|
|
and provides the results.
|
|
|
|
|
|
|
|
|
|
The Firmware Commit command is used to verify that a valid firmware
|
|
|
|
|
image has been downloaded and to commit that revision to a specific
|
|
|
|
|
firmware slot. The host may select the firmware image to commit on the
|
|
|
|
|
next controller reset (CC.EN transitions from ‘1’ to ‘0’, a PCI
|
|
|
|
|
function level reset, and/or other Controller or NVM Subsystem Reset)
|
|
|
|
|
as part of this command. The currently executing firmware revision may
|
|
|
|
|
be determined from the Firmware Revision field of the Identify Controller
|
|
|
|
|
data structure as indicated in the Firmware Slot Information log page.
|
|
|
|
|
|
|
|
|
|
No further action is automatically taken to reset the device, which is
|
|
|
|
|
usually required to complete the activation process. If your kernel and
|
|
|
|
|
driver are recent enough, you can commit the firmware by issuing a
|
|
|
|
|
reset through Linux sysfs, for example:
|
|
|
|
|
|
|
|
|
|
------------
|
|
|
|
|
# echo 1 > /sys/class/nvme/nvme0/device/reset
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
If your kernel is not recent enough, you will need to remove and add
|
|
|
|
|
the device some other way.
|
|
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
|
-------
|
|
|
|
|
-a <action>::
|
|
|
|
|
--action=<action>::
|
|
|
|
|
Commit Action: This field specifies the action that is taken
|
|
|
|
|
on the image downloaded with the Firmware Image Download command
|
|
|
|
|
or on a previously downloaded and placed image.
|
|
|
|
|
+
|
|
|
|
|
[]
|
|
|
|
|
|=================
|
|
|
|
|
|Value|Definition
|
|
|
|
|
|0|Downloaded image replaces the image indicated by the Firmware Slot
|
|
|
|
|
field. This image is not activated.
|
|
|
|
|
|1|Downloaded image replaces the image indicated by the Firmware Slot
|
|
|
|
|
field. This image is activated at the next reset.
|
|
|
|
|
|2|The image indicated by the Firmware Slot field is activated at the
|
|
|
|
|
next reset.
|
|
|
|
|
|3|The image specified by the Firmware Slot field is requested to be
|
|
|
|
|
activated immediately without reset.
|
|
|
|
|
|6|Downloaded image replaces the Boot Partition specified by the Boot Partition
|
|
|
|
|
ID field.
|
|
|
|
|
|7|Mark the Boot Partition specified in the BPID field as active and update
|
|
|
|
|
BPINFO.ABPID.
|
|
|
|
|
|=================
|
|
|
|
|
|
|
|
|
|
-s <slot>::
|
|
|
|
|
--slot=<slot>::
|
|
|
|
|
Firmware Slot: Specifies the firmware slot that shall be used for
|
|
|
|
|
the Commit Action, if applicable. If the value specified is 0h,
|
|
|
|
|
then the controller shall choose the firmware slot (slot 1 – 7)
|
|
|
|
|
to use for the operation.
|
|
|
|
|
|
|
|
|
|
--bpid=<boot-partid>::
|
|
|
|
|
-b <boot-partid>::
|
2025-02-16 12:16:19 +01:00
|
|
|
|
Specifies the Boot partition that shall be used for the Commit Action,
|
2025-02-16 11:09:01 +01:00
|
|
|
|
if applicable (default: 0)
|
|
|
|
|
|
|
|
|
|
EXAMPLES
|
|
|
|
|
--------
|
|
|
|
|
* commit the last downloaded fw to slot 1.
|
|
|
|
|
+
|
|
|
|
|
------------
|
|
|
|
|
# nvme fw-commit /dev/nvme0 --slot=1 --action=2
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
ALIAS
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
fw-activate
|
|
|
|
|
|
|
|
|
|
NVME
|
|
|
|
|
----
|
|
|
|
|
Part of the nvme-user suite
|