add agetty service
The agetty service is an alternate way to manage gettys with agetty under Linux which is separate from an external init system.
This commit is contained in:
parent
21ca2b746c
commit
d7bbb0f583
4
NEWS.md
4
NEWS.md
@ -9,6 +9,10 @@ Since the deptree2dot tool and the perl requirement are completely
|
|||||||
optional, the deptree2dot tool has been moved to the support directory.
|
optional, the deptree2dot tool has been moved to the support directory.
|
||||||
As a result, the MKTOOLS=yes/no switch has been removed from the makefiles.
|
As a result, the MKTOOLS=yes/no switch has been removed from the makefiles.
|
||||||
|
|
||||||
|
This version adds the agetty service which can be used to spawn
|
||||||
|
agetty on a specific terminal. This is currently documented in the
|
||||||
|
agetty-guide.md file at the top level of this distribution.
|
||||||
|
|
||||||
## OpenRC-0.23
|
## OpenRC-0.23
|
||||||
|
|
||||||
The tmpfiles.d processing code, which was part of previous versions of
|
The tmpfiles.d processing code, which was part of previous versions of
|
||||||
|
19
agetty-guide.md
Normal file
19
agetty-guide.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Setting up the agetty service in OpenRC
|
||||||
|
|
||||||
|
The agetty service is an OpenRC specific way to monitor and respawn a
|
||||||
|
getty, using agetty, on Linux. To use this method, make sure you aren't
|
||||||
|
spawning a getty manager for this port some other way (such as through
|
||||||
|
sysvinit/inittab), then run the following commands as root.
|
||||||
|
|
||||||
|
Note that [port] refers to the port you are spawning the getty on, and
|
||||||
|
not the full path to it. For example, tty0 or ttyS0instead of /dev/tty0
|
||||||
|
or /dev/ttyS0.
|
||||||
|
tty0 or ttyS0, not the full path to it (for example, tty0 or ttyS0 and
|
||||||
|
|
||||||
|
```
|
||||||
|
# cd /etc/init.d
|
||||||
|
# ln -s agetty agetty.[port]
|
||||||
|
# cd /etc/conf.d
|
||||||
|
# cp agetty agetty.[port]
|
||||||
|
#rc-update add agetty.[port] [runlevel]
|
||||||
|
```
|
@ -12,8 +12,8 @@ include ${MK}/os.mk
|
|||||||
|
|
||||||
CONF-FreeBSD= ipfw modules moused powerd rarpd savecore syscons
|
CONF-FreeBSD= ipfw modules moused powerd rarpd savecore syscons
|
||||||
|
|
||||||
CONF-Linux= consolefont devfs dmesg hwclock keymaps killprocs modules mtab \
|
CONF-Linux= agetty consolefont devfs dmesg hwclock keymaps killprocs modules \
|
||||||
net-online
|
mtab net-online
|
||||||
|
|
||||||
CONF-NetBSD= moused rarpd savecore
|
CONF-NetBSD= moused rarpd savecore
|
||||||
|
|
||||||
|
8
conf.d/agetty
Normal file
8
conf.d/agetty
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Set the baud rate of the terminal line
|
||||||
|
#baud=""
|
||||||
|
|
||||||
|
# set the terminal type
|
||||||
|
#termtype="linux"
|
||||||
|
|
||||||
|
# extra options to pass to agetty for this port
|
||||||
|
#agetty_options=""
|
@ -21,9 +21,9 @@ SRCS-FreeBSD= hostid.in modules.in moused.in newsyslog.in pf.in rarpd.in \
|
|||||||
SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \
|
SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \
|
||||||
modules.in modules-load.in mixer.in nscd.in powerd.in syscons.in
|
modules.in modules-load.in mixer.in nscd.in powerd.in syscons.in
|
||||||
|
|
||||||
SRCS-Linux= binfmt.in devfs.in dmesg.in hwclock.in consolefont.in keymaps.in \
|
SRCS-Linux= agetty.in binfmt.in devfs.in dmesg.in hwclock.in consolefont.in \
|
||||||
killprocs.in modules.in modules-load.in mount-ro.in mtab.in numlock.in \
|
keymaps.in killprocs.in modules.in modules-load.in mount-ro.in mtab.in \
|
||||||
procfs.in net-online.in sysfs.in termencoding.in
|
numlock.in procfs.in net-online.in sysfs.in termencoding.in
|
||||||
|
|
||||||
# Generic BSD scripts
|
# Generic BSD scripts
|
||||||
SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
|
SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
|
||||||
|
31
init.d/agetty.in
Normal file
31
init.d/agetty.in
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#!@SBINDIR@/openrc-run
|
||||||
|
# Copyright (c) 2017 The OpenRC Authors.
|
||||||
|
# See the Authors file at the top-level directory of this distribution and
|
||||||
|
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
|
||||||
|
#
|
||||||
|
# This file is part of OpenRC. It is subject to the license terms in
|
||||||
|
# the LICENSE file found in the top-level directory of this
|
||||||
|
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
|
||||||
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
|
description="start agetty on a terminal line"
|
||||||
|
supervisor=supervise-daemon
|
||||||
|
port="${RC_SVCNAME#*.}"
|
||||||
|
term_type="${term_type:-linux}"
|
||||||
|
command=/sbin/agetty
|
||||||
|
command_args_foreground="${agetty_options} ${port} ${baud} ${termtype}"
|
||||||
|
pidfile="/run/${RC_SVCNAME}.pid"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
after local
|
||||||
|
}
|
||||||
|
|
||||||
|
start_pre() {
|
||||||
|
if [ -z "$port" ]; then
|
||||||
|
eerror "${RC_SVCNAME} cannot be started directly. You must create"
|
||||||
|
eerror "symbolic links to it for the ports you want to start"
|
||||||
|
eerror "agetty on and add those to the appropriate runlevels."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user