#!/bin/sh mkdir -p /var/lib/phosphor-software-manager/hostfw/nvram NVRAM=/var/lib/phosphor-software-manager/hostfw/nvram/PHYP-NVRAM BACKUP=/var/lib/pldm/PHYP-NVRAM SIZE=$((1024 * 145408)) if [ ! -f "$NVRAM" ]; then echo "NVRAM file not found" NEED_CREATE=true elif [ "$(stat -c%s "$NVRAM")" -ne "$SIZE" ]; then CURRENT_SIZE=$(stat -c%s "$NVRAM") echo "Invalid NVRAM size: $CURRENT_SIZE bytes, recreating NVRAM file" rm -f "$NVRAM" NEED_CREATE=true else CURRENT_SIZE=$(stat -c%s "$NVRAM") echo "NVRAM file found with correct size: $CURRENT_SIZE bytes" NEED_CREATE=false fi if $NEED_CREATE; then if [ -f "$BACKUP" ]; then BACKUP_SIZE=$(stat -c%s "$BACKUP") if [ "$BACKUP_SIZE" -eq "$SIZE" ]; then echo "Backup file size valid ($BACKUP_SIZE bytes), moving to NVRAM path" mv "$BACKUP" "$NVRAM" else echo "Backup file size invalid ($BACKUP_SIZE bytes), deleting backup" rm -f "$BACKUP" truncate -s "$SIZE" "$NVRAM" fi else echo "Backup file not found, creating new NVRAM file" truncate -s "$SIZE" "$NVRAM" fi fi