Commit cd18e2ac authored by Eric Le Bihan's avatar Eric Le Bihan Committed by Peter Korsgaard
Browse files

psplash: install systemd services



This patch provides service files for using psplash on embedded devices
running systemd:

- psplash-start.service: start psplash.
- psplash-quit.service: kill psplash when reaching multi-user.target

The following kernel command line options should also be set:

  systemd.show_status=0 quiet splash

The option "systemd.show_status=0" is required, because, unlike Plymouth,
psplash does not have real systemd integration, i.e. it will not perform:

  kill(1, SIGRTMIN + 21);

Note that no progress messages will be printed on the splash screen.

Signed-off-by: default avatarEric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 70e34993
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
[Unit]
Description=Terminate Psplash Boot Screen
After=psplash-start.service

[Service]
Type=oneshot
ExecStart=/usr/bin/psplash-write QUIT
TimeoutSec=20

[Install]
WantedBy=multi-user.target
+11 −0
Original line number Diff line number Diff line
[Unit]
Description=Starts Psplash Boot screen
Wants=systemd-vconsole-setup.service
After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.service
DefaultDependencies=no

[Service]
ExecStart=/usr/bin/psplash -n

[Install]
WantedBy=sysinit.target
+14 −0
Original line number Diff line number Diff line
@@ -9,4 +9,18 @@ PSPLASH_SITE = git://git.yoctoproject.org/psplash
PSPLASH_LICENSE = GPLv2+
PSPLASH_AUTORECONF = YES

define PSPLASH_INSTALL_INIT_SYSTEMD
	$(INSTALL) -D -m 644 package/psplash/psplash-start.service \
		$(TARGET_DIR)/etc/systemd/system/psplash-start.service
	$(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants
	ln -sf  ../psplash-start.service \
		 $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/

	$(INSTALL) -D -m 644 package/psplash/psplash-quit.service \
		$(TARGET_DIR)/etc/systemd/system/psplash-quit.service
	$(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
	ln -sf  ../psplash-quit.service \
		 $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/
endef

$(eval $(autotools-package))