summaryrefslogtreecommitdiffstats
path: root/modules.d/50plymouth/module-setup.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xmodules.d/50plymouth/module-setup.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
new file mode 100755
index 0000000..cc6629b
--- /dev/null
+++ b/modules.d/50plymouth/module-setup.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+pkglib_dir() {
+ local _dirs="/usr/lib/plymouth /usr/libexec/plymouth/"
+ if find_binary dpkg-architecture &> /dev/null; then
+ local _arch
+ _arch=$(dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null)
+ [ -n "$_arch" ] && _dirs+=" /usr/lib/$_arch/plymouth"
+ fi
+ for _dir in $_dirs; do
+ if [ -x "$dracutsysrootdir""$_dir"/plymouth-populate-initrd ]; then
+ echo "$_dir"
+ return
+ fi
+ done
+}
+
+# called by dracut
+check() {
+ [[ "$mount_needs" ]] && return 1
+ [[ $(pkglib_dir) ]] || return 1
+
+ require_binaries plymouthd plymouth plymouth-set-default-theme
+}
+
+# called by dracut
+depends() {
+ echo drm
+}
+
+# called by dracut
+install() {
+ PKGLIBDIR=$(pkglib_dir)
+ if grep -q nash "$dracutsysrootdir""${PKGLIBDIR}"/plymouth-populate-initrd \
+ || [ ! -x "$dracutsysrootdir""${PKGLIBDIR}"/plymouth-populate-initrd ]; then
+ # shellcheck disable=SC1090
+ . "$moddir"/plymouth-populate-initrd.sh
+ else
+ PLYMOUTH_POPULATE_SOURCE_FUNCTIONS="$dracutfunctions" \
+ "$dracutsysrootdir""${PKGLIBDIR}"/plymouth-populate-initrd -t "$initdir"
+ fi
+
+ inst_hook emergency 50 "$moddir"/plymouth-emergency.sh
+
+ inst_multiple readlink
+
+ inst_multiple plymouthd plymouth plymouth-set-default-theme
+
+ if ! dracut_module_included "systemd"; then
+ inst_hook pre-trigger 10 "$moddir"/plymouth-pretrigger.sh
+ inst_hook pre-pivot 90 "$moddir"/plymouth-newroot.sh
+ fi
+}