#!/bin/bash

if [ "$1" ]; then
  TTYS="$1"
else
  TTYS="0"
fi

# sysctl
sed -i 's/kernel.sysrq = 0/kernel.sysrq = 1/g' /etc/sysctl.conf \
  && sysctl kernel.sysrq=1

# update time configuration
#cat /etc/adjtime
#sed -i 's/^LOCAL/UTC/' /etc/adjtime


if [ -f /etc/default/grub ]; then
  echo "GRUB2 found!"
  GRUB_CONF="/etc/default/grub"
  grep -q '^ *GRUB_TERMINAL.*serial' $GRUB_CONF || \
    cat >> $GRUB_CONF << EOF
GRUB_CMDLINE_LINUX="nomodeset console=tty0 console=ttyS$TTYS"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --unit=$TTYS --speed=115200"
EOF
  exit
fi

# serial console
if [ -z "$GRUB_CONF" ]; then
  GRUB_CONF=`readlink -f /boot/grub/menu.lst`
fi
grep -q '^terminal .*serial' $GRUB_CONF || \
sed -i 's/hiddenmenu$/hiddenmenu\n'\
'serial --unit='$TTYS' --speed=115200\n'\
'terminal --timeout=3 serial console/' \
  $GRUB_CONF
sed -i 's/^hiddenmenu/#hiddenmenu/' $GRUB_CONF
sed -i 's/^timeout=0$/timeout=3/' $GRUB_CONF
grep -E -q '^[[:space:]]+kernel .* console=ttyS.' $GRUB_CONF || \
sed -i 's/^\([ \t]\+kernel .*\)$/\1 console=tty0 console=ttyS'$TTYS'/' \
  $GRUB_CONF
# disable rhgb and KMS
sed -i 's/ rhgb / nomodeset /' $GRUB_CONF
