]> git.ipfire.org Git - people/ms/bricklayer.git/commitdiff
Add systemd service file to launch bricklayer in install mode.
authorStefan Schantl <stefan.schantl@ipfire.org>
Fri, 24 Feb 2023 16:36:05 +0000 (17:36 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 24 Feb 2023 18:28:37 +0000 (18:28 +0000)
This service file will launch bricklayer in install mode
in case "install" has been given on the kernel command line.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/systemd/bricklayer.service.in

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..852fff1097f13f09bdecc263b3ea44cd900178f4 100644 (file)
@@ -0,0 +1,30 @@
+[Unit]
+Description=Launch bricklayer to install a new system
+After=plymouth-quit-wait.service
+After=systemd-vconsole-setup.service systemd-user-sessions.service
+# getty-pre.target is a pasive target, we need to request it before we can use it
+Wants=getty-pre.target
+# prevent getty from running on any consoles before we are done
+Before=getty-pre.target
+Conflicts=plymouth-quit-wait.service bricklayer.service
+ConditionKernelCommandLine=install
+
+[Service]
+Type=oneshot
+TimeoutSec=0
+RemainAfterExit=yes
+# tell systemd to stop logging to the console, to prevent it's messages
+# with interfering with the Initial Setup TUI potentially running there
+ExecStartPre=/bin/kill -SIGRTMIN+21 1
+ExecStartPre=-/bin/plymouth quit
+ExecStart=@BINDIR@/bricklayer
+# re-enable systemd console logging once Initial Setup is done
+ExecStartPost=/bin/kill -SIGRTMIN+20 1
+TimeoutSec=0
+RemainAfterExit=no
+StandardInput=tty
+StandardOutput=tty
+StandardError=tty
+
+[Install]
+WantedBy=multi-user.target