--- /dev/null
+initrdargs="$initrdargs rd_plytheme"
+
+PLYMOUTH_THEMEDIR=/usr/share/plymouth/themes
+PLYMOUTH_THEME=$(getarg rd_plytheme=)
+if [ -n "$PLYMOUTH_THEME" ]; then
+ if [ -f "${PLYMOUTH_THEMEDIR}/${PLYMOUTH_THEME}/${PLYMOUTH_THEME}.plymouth" ]; then
+ info "Setting theme $PLYMOUTH_THEME"
+ (
+ cd $PLYMOUTH_THEMEDIR;
+ ln -fs "${PLYMOUTH_THEME}/${PLYMOUTH_THEME}.plymouth" default.plymouth 2>&1 | vinfo;
+ )
+ else
+ warn "Theme $PLYMOUTH_THEME not found!"
+ fi
+fi
+
+unset PLYMOUTH_THEME
+unset PLYMOUTH_THEMEDIR
+
PLYMOUTH_THEME=$(plymouth-set-default-theme)
inst /sbin/plymouthd /bin/plymouthd
-dracut_install /bin/plymouth "${LIBDIR}/plymouth/text.so" \
- "${LIBDIR}/plymouth/details.so" \
- "/usr/share/plymouth/themes/details/details.plymouth" \
- "/usr/share/plymouth/themes/text/text.plymouth" \
+dracut_install /bin/plymouth \
"${PLYMOUTH_LOGO_FILE}" \
/etc/system-release
-if [[ -f "${LIBDIR}/plymouth/${PLYMOUTH_THEME:=text}.so" ]]; then
- dracut_install "${LIBDIR}/plymouth/${PLYMOUTH_THEME:=text}.so"
-fi
-
mkdir -p "${initdir}/usr/share/plymouth"
-if [[ -d /usr/share/plymouth/themes/${PLYMOUTH_THEME} ]]; then
- for x in "/usr/share/plymouth/themes/${PLYMOUTH_THEME}"/* ; do
- [[ -f "$x" ]] || break
- inst $x
- done
-fi
+if [[ $hostonly ]]; then
+ dracut_install "${LIBDIR}/plymouth/text.so" \
+ "${LIBDIR}/plymouth/details.so" \
+ "/usr/share/plymouth/themes/details/details.plymouth" \
+ "/usr/share/plymouth/themes/text/text.plymouth" \
-if [ -L /usr/share/plymouth/themes/default.plymouth ]; then
- inst /usr/share/plymouth/themes/default.plymouth
- # Install plugin for this theme
- PLYMOUTH_PLUGIN=$(grep "^ModuleName=" /usr/share/plymouth/themes/default.plymouth |awk -F= {'print $2'})
- inst ${LIBDIR}/plymouth/${PLYMOUTH_PLUGIN}.so
+ if [[ -d /usr/share/plymouth/themes/${PLYMOUTH_THEME} ]]; then
+ for x in "/usr/share/plymouth/themes/${PLYMOUTH_THEME}"/* ; do
+ [[ -f "$x" ]] || break
+ inst $x
+ done
+ fi
+
+ if [ -L /usr/share/plymouth/themes/default.plymouth ]; then
+ inst /usr/share/plymouth/themes/default.plymouth
+ # Install plugin for this theme
+ PLYMOUTH_PLUGIN=$(grep "^ModuleName=" /usr/share/plymouth/themes/default.plymouth |awk -F= {'print $2'})
+ inst ${LIBDIR}/plymouth/${PLYMOUTH_PLUGIN}.so
+ fi
+else
+ for x in /usr/share/plymouth/themes/*/* ; do
+ [[ -f "$x" ]] || continue
+ THEME_DIR=$(dirname "$x")
+ mkdir -p "${initdir}/$THEME_DIR"
+ dracut_install "$x"
+ done
+ for x in ${LIBDIR}/plymouth/*.so ; do
+ [[ -f "$x" ]] || continue
+ dracut_install "$x"
+ done
+ (
+ cd ${initdir}/usr/share/plymouth/themes;
+ ln -s text/text.plymouth default.plymouth 2>&1;
+ )
fi
# vim:ts=8:sw=4:sts=4:et
#!/bin/sh
+[ -c /dev/null ] || mknod /dev/null c 1 3
# first trigger graphics subsystem
-udevadm trigger --attr-match=class=0x030000
+udevadm trigger --attr-match=class=0x030000 >/dev/null 2>&1
# first trigger graphics and tty subsystem
udevadm trigger --subsystem-match=graphics --subsystem-match=tty >/dev/null 2>&1
-# add nomatch for full trigger
-udevtriggeropts="$udevtriggeropts --subsystem-nomatch=graphics --subsystem-nomatch=tty"
-udevadm settle --timeout=30 >/dev/null 2>&1
-[ -c /dev/null ] || mknod /dev/null c 1 3
+udevadm settle --timeout=30 2>&1 | vinfo
[ -c /dev/zero ] || mknod /dev/zero c 1 5
[ -c /dev/systty ] || mknod /dev/systty c 4 0
[ -c /dev/fb ] || mknod /dev/fb c 29 0
info "Starting plymouth daemon"
[ -x /bin/plymouthd ] && /bin/plymouthd
-/bin/plymouth --show-splash
+/bin/plymouth --show-splash 2>&1 | vinfo