xref: /openbmc/pldm/oem/ibm/service_files/scripts/create-NVRAM-file (revision e8c39f35fff81534796e88272ef74c85ef573b41)
12cff3015SManojkiran Eda#!/bin/sh
2*e8c39f35SPavithra Barithayamkdir -p /var/lib/phosphor-software-manager/hostfw/nvram
3*e8c39f35SPavithra BarithayaNVRAM=/var/lib/phosphor-software-manager/hostfw/nvram/PHYP-NVRAM
4*e8c39f35SPavithra BarithayaBACKUP=/var/lib/pldm/PHYP-NVRAM
5*e8c39f35SPavithra BarithayaSIZE=$((1024 * 145408))
62cff3015SManojkiran Eda
7*e8c39f35SPavithra Barithayaif [ ! -f "$NVRAM" ]; then
8*e8c39f35SPavithra Barithaya    echo "NVRAM file not found"
9*e8c39f35SPavithra Barithaya    NEED_CREATE=true
10*e8c39f35SPavithra Barithayaelif [ "$(stat -c%s "$NVRAM")" -ne "$SIZE" ]; then
11*e8c39f35SPavithra Barithaya    CURRENT_SIZE=$(stat -c%s "$NVRAM")
12*e8c39f35SPavithra Barithaya    echo "Invalid NVRAM size: $CURRENT_SIZE bytes, recreating NVRAM file"
13*e8c39f35SPavithra Barithaya    rm -f "$NVRAM"
14*e8c39f35SPavithra Barithaya    NEED_CREATE=true
152cff3015SManojkiran Edaelse
16*e8c39f35SPavithra Barithaya    CURRENT_SIZE=$(stat -c%s "$NVRAM")
17*e8c39f35SPavithra Barithaya    echo "NVRAM file found with correct size: $CURRENT_SIZE bytes"
18*e8c39f35SPavithra Barithaya    NEED_CREATE=false
19*e8c39f35SPavithra Barithayafi
20*e8c39f35SPavithra Barithaya
21*e8c39f35SPavithra Barithayaif $NEED_CREATE; then
22*e8c39f35SPavithra Barithaya    if [ -f "$BACKUP" ]; then
23*e8c39f35SPavithra Barithaya        BACKUP_SIZE=$(stat -c%s "$BACKUP")
24*e8c39f35SPavithra Barithaya        if [ "$BACKUP_SIZE" -eq "$SIZE" ]; then
25*e8c39f35SPavithra Barithaya            echo "Backup file size valid ($BACKUP_SIZE bytes), moving to NVRAM path"
26*e8c39f35SPavithra Barithaya            mv "$BACKUP" "$NVRAM"
27*e8c39f35SPavithra Barithaya        else
28*e8c39f35SPavithra Barithaya            echo "Backup file size invalid ($BACKUP_SIZE bytes), deleting backup"
29*e8c39f35SPavithra Barithaya            rm -f "$BACKUP"
30*e8c39f35SPavithra Barithaya            truncate -s "$SIZE" "$NVRAM"
31*e8c39f35SPavithra Barithaya        fi
32*e8c39f35SPavithra Barithaya    else
33*e8c39f35SPavithra Barithaya        echo "Backup file not found, creating new NVRAM file"
34*e8c39f35SPavithra Barithaya        truncate -s "$SIZE" "$NVRAM"
35*e8c39f35SPavithra Barithaya    fi
362cff3015SManojkiran Edafi
37