Skip to content

Instantly share code, notes, and snippets.

@sovanyio
Last active August 16, 2019 23:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sovanyio/5effc81f818813dea733bd056cf3a173 to your computer and use it in GitHub Desktop.
Save sovanyio/5effc81f818813dea733bd056cf3a173 to your computer and use it in GitHub Desktop.
Fix plymouth mkinitcpio hook for themes, starting line 35
build() {
add_dir /dev/pts
add_dir /usr/share/plymouth/themes
add_dir /var/run/plymouth # <- needed?
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}/* ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/**/* ; do
[ -f "$x" ] && add_file $x
done
fi
add_file /usr/lib/udev/rules.d/70-uaccess.rules
add_file /usr/lib/udev/rules.d/71-seat.rules
# 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
add_runscript
}
help() {
echo "This hook includes plymouth in the initramfs image."
}
# vim: set ft=sh:
#EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment