Refactor tty handling to use service backend enabling conditions etc.

Initial refactor of the tty implementation to use the service/run/task
general backend.  This enables all the features of services also for
ttys, except logging because it makes no sense.

Work in progress:

 - plugins/tty.c does not work anymore, could possibly be removed in
   favor of usinga (a new) condition instead (if-tty-exists)
 - fallback tty does not work anymore, should we remove it, or can we
   handle it as an optional built-in with (a new) condition?
 - @console does not work anymore, needs to generate N cloned services

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2021-04-14 16:29:19 +02:00
parent 3cf5d36972
commit 30020263ba
12 changed files with 285 additions and 497 deletions
+4 -3
View File
@@ -59,6 +59,7 @@ int prevlevel = -1;
int debug = 0; /* debug mode from kernel cmdline */
int rescue = 0; /* rescue mode from kernel cmdline */
int single = 0; /* single user mode from kernel cmdline */
int bootstrap = 1; /* set while bootrapping (for TTYs) */
char *sdown = NULL;
char *network = NULL;
char *hostname = NULL;
@@ -310,9 +311,9 @@ static void finalize(void *unused)
/* Disable progress output at normal runtime */
enable_progress(0);
/* Delayed start of TTYs at bootstrap */
_d("Launching all getty services ...");
tty_runlevel();
/* System bootrapped, launch TTYs et al */
bootstrap = 0;
service_step_all(SVC_TYPE_RESPAWN);
}
/*