#!/bin/bash
#
# description: Boot extension installation script
#
# This script is written as a bash script that will be called from the systemd
# service file at the time of bootup. We want rsyslog to be up and running by
# the time we start installing boot-extensions.

# Install extensions
flashExtDir=/mnt/flash/.extensions
ssdExtDir=/mnt/drive/.extensions
SSD_MIGRATION=$flashExtDir/EXTENSION_DIR_MIGRATED_TO_SSD
loadext=/usr/bin/LoadExtensions
bootext=/mnt/flash/boot-extensions
EOS_EXTENSIONS_PCR=12

if [ -d $ssdExtDir ] && [ -f $SSD_MIGRATION ]; then
   mount --bind $ssdExtDir $flashExtDir
fi

if [ -f $bootext ] && [ -x $loadext ]; then
   echo "Installing EOS extensions"
   $loadext -f $bootext -d /mnt/flash/.extensions -o /var/run/extension-status
elif tpm_generic_config_enabled 'measuredboot'; then
   echo -n 'no-boot-ext' | \
      tpm_generic_pcr_extend "$EOS_EXTENSIONS_PCR" --event 'EOS_EXTENSION_INSTALL' --log 'no boot extensions' file - >/dev/null
fi
