blob: a2242f2ec4303e2709d72e63c364ae66c0279f11 [file] [log] [blame]
Manojkiran Eda2cff3012022-09-10 03:00:43 -05001#!/bin/sh
Pavithra Barithayae8c39f32025-05-28 15:21:54 +05302mkdir -p /var/lib/phosphor-software-manager/hostfw/nvram
3NVRAM=/var/lib/phosphor-software-manager/hostfw/nvram/PHYP-NVRAM
4BACKUP=/var/lib/pldm/PHYP-NVRAM
5SIZE=$((1024 * 145408))
Manojkiran Eda2cff3012022-09-10 03:00:43 -05006
Pavithra Barithayae8c39f32025-05-28 15:21:54 +05307if [ ! -f "$NVRAM" ]; then
8 echo "NVRAM file not found"
9 NEED_CREATE=true
10elif [ "$(stat -c%s "$NVRAM")" -ne "$SIZE" ]; then
11 CURRENT_SIZE=$(stat -c%s "$NVRAM")
12 echo "Invalid NVRAM size: $CURRENT_SIZE bytes, recreating NVRAM file"
13 rm -f "$NVRAM"
14 NEED_CREATE=true
Manojkiran Eda2cff3012022-09-10 03:00:43 -050015else
Pavithra Barithayae8c39f32025-05-28 15:21:54 +053016 CURRENT_SIZE=$(stat -c%s "$NVRAM")
17 echo "NVRAM file found with correct size: $CURRENT_SIZE bytes"
18 NEED_CREATE=false
19fi
20
21if $NEED_CREATE; then
22 if [ -f "$BACKUP" ]; then
23 BACKUP_SIZE=$(stat -c%s "$BACKUP")
24 if [ "$BACKUP_SIZE" -eq "$SIZE" ]; then
25 echo "Backup file size valid ($BACKUP_SIZE bytes), moving to NVRAM path"
26 mv "$BACKUP" "$NVRAM"
27 else
28 echo "Backup file size invalid ($BACKUP_SIZE bytes), deleting backup"
29 rm -f "$BACKUP"
30 truncate -s "$SIZE" "$NVRAM"
31 fi
32 else
33 echo "Backup file not found, creating new NVRAM file"
34 truncate -s "$SIZE" "$NVRAM"
35 fi
Manojkiran Eda2cff3012022-09-10 03:00:43 -050036fi