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:
		
							
								
								
									
										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. | ||||
| 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 | ||||
|  | ||||
| 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-Linux=	consolefont devfs dmesg hwclock keymaps killprocs modules mtab \ | ||||
| 	net-online | ||||
| CONF-Linux=	agetty consolefont devfs dmesg hwclock keymaps killprocs modules \ | ||||
| 	mtab net-online | ||||
|  | ||||
| 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 \ | ||||
| 		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 \ | ||||
| 		killprocs.in modules.in modules-load.in mount-ro.in mtab.in numlock.in \ | ||||
| 		procfs.in net-online.in sysfs.in termencoding.in | ||||
| SRCS-Linux=	agetty.in binfmt.in devfs.in dmesg.in hwclock.in consolefont.in \ | ||||
| 	keymaps.in killprocs.in modules.in modules-load.in mount-ro.in mtab.in \ | ||||
| 	numlock.in procfs.in net-online.in sysfs.in termencoding.in | ||||
|  | ||||
| # Generic BSD scripts | ||||
| 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 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user