Files
server/usr/share/doc/ovmf/2M_VARS-to-4M_VARS.sh
2026-01-07 20:52:11 +01:00

47 lines
944 B
Bash

#!/bin/sh
set -e
NEW_VAR_TEMPLATE="/usr/share/OVMF/OVMF_VARS_4M.fd"
json_tmp="$(mktemp)"
cleanup() {
rm -f "$json_tmp"
}
trap cleanup EXIT
while getopts ":-i:-o:" opt; do
case $opt in
i)
infile="$OPTARG"
;;
o)
outfile="$OPTARG"
;;
*)
echo "Invalid argument: -${opt}" >&2
exit 1
esac
done
if [ -z "$infile" ]; then
echo "Missing required argument -i <infile>"
exit 1
fi
if [ -z "$outfile" ]; then
# Overwriting the file in place, so make a backup first
timestamp="$(date "+%s")"
backup="${infile}.${timestamp}"
echo "Backing up $infile to $backup"
cp -a "$infile" "$backup"
outfile="${infile}"
else
# Seed the outfile w/ a copy of the infile just to retain
# the same permissions and ownership
cp -a "$infile" "$outfile"
fi
virt-fw-vars -i "$infile" --output-json "$json_tmp"
virt-fw-vars --set-json "$json_tmp" -i "$NEW_VAR_TEMPLATE" -o "$outfile"