diff options
author | Sebastian Lau | 2017-06-30 10:04:44 +0200 |
---|---|---|
committer | Sebastian Lau | 2017-06-30 10:04:44 +0200 |
commit | ba4eb9ca50f09134adbe2e4563d81b6456b855fd (patch) | |
tree | 6394b05ef7542a4803bcec306224c73b79a300c3 /sd-plymouth.initcpio_install | |
parent | db2d75510399ca9e08b1fe41f251d5f429d7949c (diff) | |
download | aur-ba4eb9ca50f09134adbe2e4563d81b6456b855fd.tar.gz |
ADD sd-plymouth.initcpio_install systemd hook for initrd
Diffstat (limited to 'sd-plymouth.initcpio_install')
-rw-r--r-- | sd-plymouth.initcpio_install | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/sd-plymouth.initcpio_install b/sd-plymouth.initcpio_install new file mode 100644 index 000000000000..fbae70000fc3 --- /dev/null +++ b/sd-plymouth.initcpio_install @@ -0,0 +1,66 @@ +#!/bin/bash +# /etc/initcpio/install/sd-plymouth — mkinitcpio/systemd hook for plymouth + +build() { + add_dir /dev/pts + add_dir /usr/share/plymouth/themes + add_dir /run/plymouth + + DATADIR="/usr/share" + PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png" + PLYMOUTH_THEME_NAME="$(/usr/bin/plymouth-set-default-theme)" + PLYMOUTH_MODULE_NAME="$(grep "ModuleName *= *" ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//')" + PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)" + + add_binary /usr/bin/plymouthd + add_binary /usr/bin/plymouth + + add_file ${DATADIR}/plymouth/themes/text/text.plymouth + add_binary ${PLYMOUTH_PLUGIN_PATH}/text.so + add_file ${DATADIR}/plymouth/themes/details/details.plymouth + add_binary ${PLYMOUTH_PLUGIN_PATH}/details.so + + add_file "${PLYMOUTH_LOGO_FILE}" + add_file /etc/os-release + add_file /etc/plymouth/plymouthd.conf + add_file ${DATADIR}/plymouth/plymouthd.defaults + + if [ ! -f ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so ]; then + echo "The default plymouth plugin (${PLYMOUTH_MODULE_NAME}) doesn't exist" > /dev/stderr + exit 1 + fi + + add_binary ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so + + add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/drm.so + add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/frame-buffer.so + + if [ -d ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME} ]; then + for x in ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/* ; do + [ ! -f "$x" ] && break + add_file $x + done + fi + + add_udev_rule 70-uaccess.rules + add_udev_rule 71-seat.rules + + map add_systemd_unit \ + systemd-ask-password-plymouth.path \ + systemd-ask-password-plymouth.service \ + plymouth-halt.service \ + plymouth-kexec.service \ + plymouth-poweroff.service \ + plymouth-quit-wait.service \ + plymouth-quit.service \ + plymouth-read-write.service \ + plymouth-reboot.service \ + plymouth-start.service \ + plymouth-switch-root.service +} + +help() { + cat <<HELPEOF +This hook includes plymouth in a systemd-based initramfs image. +HELPEOF +} |