summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rwxr-xr-xshare/customize-autologin.sh16
1 files changed, 15 insertions, 1 deletions
diff --git a/share/customize-autologin.sh b/share/customize-autologin.sh
index 9effa29..da40342 100755
--- a/share/customize-autologin.sh
+++ b/share/customize-autologin.sh
@@ -4,12 +4,26 @@
#
# This is a mmdebstrap customize hook that configures automatic root login on a
# serial console. It also parses the TERM kernel cmdline and passes it as
-# TERM to agetty.
+# TERM to agetty. Since serial consoles do not transmit SIGWINCH, it causes
+# the shell to run setterm -resize on interactive, serial logins.
set -eu
TARGET=$1
+cat >"$TARGET/etc/profile.d/resize_serial_term.sh" <<'EOF'
+if test -n "${TERM-}" && test -n "${PS1-}"; then
+ case "$(tty)" in
+ /dev/tty[0-9]*)
+ ;;
+ /dev/tty*)
+ # Assume that every other tty is serial and should be resized.
+ setterm -resize
+ ;;
+ esac
+fi
+EOF
+
if test "$(dpkg-query --root "$TARGET" -f '${db:Status-Status}' -W systemd-sysv 2>/dev/null)" = installed; then
UNIT=serial-getty@.service