# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description     "Terminal login service for VT"
author          "chromium-os-dev@chromium.org"

# The console doesn't need any of the services provided by boot-services,
# so it is safe to start it in parallel. We don't want the serial console
# to wait for boot-services to start because if boot-services fails, we
# want a serial console to debug the failure. We also don't want to use
# failsafe because that requires boot-services to have started.
start on starting boot-services
stop on stopped boot-services
respawn

env TTY_BAUD_RATE=115200

# This file is generated at build time by chromeos-base/tty.
script
  if crossystem "cros_debug?1"; then
    exec agetty "${TTY_BAUD_RATE}" %PORT% linux
  else
    stop
    exit 0
  fi
end script
