Manojkiran Eda | 2cff301 | 2022-09-10 03:00:43 -0500 | [diff] [blame] | 1 | #!/bin/sh |
Pavithra Barithaya | e8c39f3 | 2025-05-28 15:21:54 +0530 | [diff] [blame] | 2 | mkdir -p /var/lib/phosphor-software-manager/hostfw/nvram |
| 3 | NVRAM=/var/lib/phosphor-software-manager/hostfw/nvram/PHYP-NVRAM |
| 4 | BACKUP=/var/lib/pldm/PHYP-NVRAM |
| 5 | SIZE=$((1024 * 145408)) |
Manojkiran Eda | 2cff301 | 2022-09-10 03:00:43 -0500 | [diff] [blame] | 6 | |
Pavithra Barithaya | e8c39f3 | 2025-05-28 15:21:54 +0530 | [diff] [blame] | 7 | if [ ! -f "$NVRAM" ]; then |
| 8 | echo "NVRAM file not found" |
| 9 | NEED_CREATE=true |
| 10 | elif [ "$(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 Eda | 2cff301 | 2022-09-10 03:00:43 -0500 | [diff] [blame] | 15 | else |
Pavithra Barithaya | e8c39f3 | 2025-05-28 15:21:54 +0530 | [diff] [blame] | 16 | CURRENT_SIZE=$(stat -c%s "$NVRAM") |
| 17 | echo "NVRAM file found with correct size: $CURRENT_SIZE bytes" |
| 18 | NEED_CREATE=false |
| 19 | fi |
| 20 | |
| 21 | if $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 Eda | 2cff301 | 2022-09-10 03:00:43 -0500 | [diff] [blame] | 36 | fi |