#!/bin/sh # # 2009 Nico Schottelius (nico-cinit at schottelius.org) # # This file is part of cinit. # # cinit is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cinit is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with cinit. If not, see . # # # Enable agetty (6 times is fine) # ################################################################################ # standard vars stolen from cconf __pwd="$(pwd -P)" __mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" __myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" set -e . "$(dirname $0)/cinit-conf.read-conf" if [ $# -ne 1 ]; then echo "${__myname}: " echo "" echo " Allow login to your system using agetty" echo "" exit 23 fi num_getties="$1"; shift SVCBASE="local-services/agetty" # agetty is called getty within debian/ubuntu -> FIXME: also search for agetty BINARY_PATH="$(which getty)" NEEDS="mount/root mount/proc" # Create container to hold all the getties cinit-conf.svc-create.template "${SVCBASE}" i=0 while [ "$i" -lt "$num_getties" ]; do SVC="${SVCBASE}/$i" tty="tty${i}" speed="38400" cinit-conf.svc-create.template "${SVC}" cinit-conf.svc.respawn.on "${SVC}" cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" cinit-conf.svc-param.add "${SVC}" "${C_ON}" "${speed}" "${tty}" cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS # add each getty to the "super-getty-service" cinit-conf.svc.dependency.add "${SVCBASE}" "needs" "${SVC}" i=$(($i+1)) done exit 0