#!/bin/sh

### TBD
### This is simply a small mashup from what have been done in YClegacy



lvm_default_volume_group="platters"

mount -o remount,size=70% /


/etc/init.d/lvm2 stop
rm /etc/mdadm/mdadm.conf
mdadm-startall
/etc/init.d/lvm2 start

mkdir -p /mnt/rescue
mkdir -p /mnt/rescue/root
if [ -e "/dev/$lvm_default_volume_group/host_root" ]; then
  mount /dev/$lvm_default_volume_group/host_root /mnt/rescue/root
  if [ $? -eq 0 ]; then
    echo "INFO: Root partition has been mounted to /mnt/rescue/root" 1>&2
  else
    echo "ERROR: Failed to mount the root partition!" 1>&2
  fi
elif [ -e "/dev/$lvm_default_volume_group/root" ]; then
  mount /dev/$lvm_default_volume_group/root /mnt/rescue/root
  if [ $? -eq 0 ]; then
    echo "INFO: [Legacy-style] Root partition has been mounted to /mnt/rescue/root" 1>&2
  else
    echo "ERROR: Failed to mount the (legacy-style) root partition!" 1>&2
  fi
fi


echo "INFO: Trying to set a root password for rescue mode..." 1>&2
root_pw=$(pwgen --capitalize --num-passwords=1 --ambiguous --numerals 16)
if [ $? -ne 0 ] ||    [ -z "$root_pw" ]; then
  echo "ERROR: Failed to generate a random password" 1>&2
else
  echo "root:$root_pw" | chpasswd
  if [ $? -ne 0 ]; then
    echo "ERROR: Failed to set a root password for rescue mode" 1>&2
  else
    echo ""
    echo "---------------------------------------------------------------------"
    echo ""
    echo "  INFO: A random generated root password has been set on this host,"
    echo "        which can be used to login as user root. It is only valid"
    echo "        till the system is shutdown or rebooted."
    echo ""
    echo "  PASSWORD: $root_pw"
    echo ""
    echo "---------------------------------------------------------------------"
  fi
fi

echo "INFO: Rescue mode enabled..."

