diff options
Diffstat (limited to 'abs/core/plymouth/plymouth.initcpio_install')
-rw-r--r-- | abs/core/plymouth/plymouth.initcpio_install | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/abs/core/plymouth/plymouth.initcpio_install b/abs/core/plymouth/plymouth.initcpio_install new file mode 100644 index 0000000..16048f1 --- /dev/null +++ b/abs/core/plymouth/plymouth.initcpio_install @@ -0,0 +1,58 @@ +build() { + add_dir /dev/pts + add_dir /usr/share/plymouth/themes + + DATADIR="/usr/share" + PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png" + PLYMOUTH_THEME_NAME="$(/usr/sbin/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/sbin/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/system-release /etc/system-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/x11.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 + + # suppress a warning in glib (which the label control uses) + # about uid 0 by building a dummy NSS stack (LP #649917) + add_file /etc/passwd + add_file /etc/nsswitch.conf + add_binary "$(readlink -e /lib/libnss_files.so.2)" + add_file /lib/libnss_files.so.2 + + SCRIPT='plymouth' +} + +help() { + echo "This hook includes plymouth in the initramfs image." +} + +# vim: set ft=sh: +#EOF |