[3/3] Add systemd service file to launch bricklayer in install mode.
Commit Message
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>
---
src/systemd/bricklayer.service.in | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
@@ -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