1
0
mirror of synced 2026-01-18 16:56:58 +00:00
xen-tools.xen-tools/hooks/common/30-disable-gettys

84 lines
2.0 KiB
Bash
Executable File

#!/bin/sh
#
# This script comments out all virtual terminals which aren't on the
# first console - that must remain so that 'xm console ...' works
# correctly.
#
prefix=$1
#
# Source our common functions
#
if [ -e /usr/lib/xen-tools/common.sh ]; then
. /usr/lib/xen-tools/common.sh
else
. ./hooks/common.sh
fi
#
# Log our start
#
logMessage Script $0 starting
#
# Do the transformation.
#
# Upstart on Ubuntu newer than 8.04
rm -f ${prefix}/etc/init/tty[!1].conf
[ -f ${prefix}/etc/init/tty1.conf ] && {
sed -i -e s/tty1/hvc0/ ${prefix}/etc/init/tty1.conf
mv ${prefix}/etc/init/tty1.conf ${prefix}/etc/init/hvc0.conf
}
# Upstart on Ubuntu 8.04 or older
rm -f ${prefix}/etc/event.d/tty[!1]
[ -f ${prefix}/etc/event.d/tty1 ] && {
sed -i -e s/tty1/hvc0/ ${prefix}/etc/event.d/tty1
mv ${prefix}/etc/event.d/tty1 ${prefix}/etc/event.d/hvc0
}
# Inittab
[ -f ${prefix}/etc/inittab ] && sed -i -e 's/^\([2-6].*:respawn*\)/#\1/' -e 's/^T/#\t/' -e 's/tty1$/hvc0/' ${prefix}/etc/inittab
#
# Are we using an alternative serial device?
#
if [ ! -z "${serial_device}" ]; then
serial_device=`basename ${serial_device}`
# Let the user know.
logMessage "Replacing default serial device (hvc0) with ${serial_device}"
# replace existing device.
# Upstart on Ubuntu newer than 8.04
[ -f ${prefix}/etc/init/hvc0.conf ] && {
mv ${prefix}/etc/init/hvc0.conf ${prefix}/etc/init/${serial_device}.conf
sed -i -e s/hvc0/${serial_device}/ ${prefix}/etc/init/${serial_device}.conf
}
# Upstart on Ubuntu 8.04 or older
[ -f ${prefix}/etc/event.d/hvc0 ] && {
mv ${prefix}/etc/event.d/hvc0 ${prefix}/etc/event.d/${serial_device}
sed -i -e s/hvc0/${serial_device}/ ${prefix}/etc/event.d/${serial_device}
}
# Inittab
[ -f ${prefix}/etc/inittab ] && sed -i -e s/hvc0/${serial_device}/ ${prefix}/etc/inittab
# make sure that it is allowed to login.
echo $serial_device >> ${prefix}/etc/securetty
fi
#
# Log our finish
#
logMessage Script $0 finished