MPCMM0001 Chassis Management Module Software Technical Product Specification 207
Updating CMM Software
23.4.2 Update Firmware Package Version
The firmware update package has a firmware version associated with the entire package. This
firmware version is the same version that can be retrieved using the CLI command:
cmmget -l cmm -d version
To determine if the update is a new, old or same version, the update package will contain a
version_history file which contains a list of all software builds that have occurred, listed in
sequential order. Newer builds are at the bottom of the list.
23.4.3 Component Versioning
The components contained in the update package will contain versioning information that will
allow the update process to ensure the updated components installed on the CMM are all
compatible at the end of an update and match those contained in the update package.
If an update package contains a component version that is already installed on the CMM, then that
component will not be updated. A method is also provided to force all components to update
regardless of the version installed.
Version info for files installed on the CMM can be obtained through the various interfaces and is
stored in the /etc/versions file. Version info for the files in the update package will also be
available.
The CMM checks the md5sum of /etc/versions during boot. In the event that the checksum fails,
the CMM applications will fail to start and a message will appear on the console as follows
“Startup of CMM applications has terminated due to detection of an inconsistent software load.”
This functionality exists to prevent a CMM with an incorrect /etc/versions file, which may have
occurred during an incomplete update, from synchronizing incorrectly with the other CMM.
23.5 saveList and Data Preservation
The update process will preserve user configuration data as well as critical system configuration
information across updates. These files are located in the /etc directory. The list of files or
directories to be preserved across updates is contained in the software update package and is called
SaveList. Each entry in the saveList will contain a directory or file to be saved as well as a priority
assigned to it. Priority for the file can be either a 1 or a 2, and is used to determine if certain files or
directories should be saved when updating to an earlier firmware version.
Priority 1 is assigned to files or directories that should be saved in all cases of an update, including
going forward or backward in firmware version. Priority 1 files are considered files critical to the
CMM operation and access to the CMM, such as Ethernet configuration.
Priority 2 is assigned to files or directories which should not be saved if an update is being
performed to an earlier version of firmware.
During an update, the CMM will copy over the current files in /etc to ram disk in /usr/local/cmm/
temp/update/etc. The CMM then uses the saveList file to determine which configuration files or
directories to copy back into the new /etc partition. When updating to a previous version of
firmware, the CMM makes a backup of any files designated priority 2 in the save list to flash in the
/home/update/backup/etc directory.