#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin

user=`whoami`
default=`systemctl get-default`
dmverity_path="/usr/bin/verityctl"
dmverity_cmd=`verityctl get-mode rootfs`
dmverity_log="dm-verity is disabled (Normal boot)"

if ! [ "$user" = "root" ]
then
	echo "HALTEST: Need 'root' permission for switching mode"
	exit
fi

if [ -f $dmverity_path ]
then
	if ! [ "$dmverity_cmd" = "$dmverity_log" ]
	then
		echo "HALTEST: Need to disable DM-VERITY to use HALTEST Mode "
		echo "HALTEST: Disable DM-VERITY and reboot target "
		echo "HALTEST: After rebooting, need to execure reboot-haltest again "
		verityctl disable
		echo "HALTEST: Rebooting ..."
		reboot -f
	fi
fi

if ! [ "$default" = "haltest.target" ]
then
	echo "HALTEST: Switch to HALTEST Mode from Normal Mode"
	echo "HALTEST: Change default.target from $default to haltest.target"
	mount -o remount,rw /
	systemctl set-default haltest.target
	sync
	echo "HALTEST: Rebooting ..."
	reboot -f
else
	echo "HALTEST: HALTEST Mode is already enabled (default: $default)"
fi

