[scripts] add plymouth-generate-initrd script

One useful way to use plymouth is by installing it into
an auxillary initrd image, that overlays the primary one.

This allows plymouth and its current theme to get updated
indepedently of the kernel and the rest of the initrd
stuff.

plymouth-generate-initrd creates an initrd named:

     initrd-plymouth.img

in /boot that is suitable for use a second initrd on
the initrd line in grub.conf.
calculate-0.9.5
Ray Strode 15 years ago
parent 92d75daf5a
commit 803204e6cb

@ -1,7 +1,7 @@
noinst_SCRIPTS = new-object.sh
initrdscriptdir = $(libexecdir)/plymouth
initrdscript_SCRIPTS = plymouth-update-initrd plymouth-populate-initrd
initrdscript_SCRIPTS = plymouth-update-initrd plymouth-generate-initrd plymouth-populate-initrd
sbinscriptsdir = $(sbindir)
sbinscripts_SCRIPTS = plymouth-set-default-theme
@ -20,6 +20,7 @@ plymouth-set-default-theme: $(srcdir)/plymouth-set-default-theme.in
$(srcdir)/plymouth-set-default-theme.in > plymouth-set-default-theme
EXTRA_DIST= plymouth-update-initrd \
plymouth-generate-initrd \
plymouth-populate-initrd.in \
plymouth-set-default-theme.in \
$(noinst_SCRIPTS) \

@ -0,0 +1,24 @@
#!/bin/bash
[ -z "$DESTDIR" ] || exit 0
[ -z "$PLYMOUTH_LIBEXECDIR" ] && PLYMOUTH_LIBEXECDIR="/usr/libexec"
[ -z "$PLYMOUTH_DATADIR" ] && PLYMOUTH_DATADIR="/usr/share"
[ -z "$PLYMOUTH_POPULATE_INITRD" ] && PLYMOUTH_POPULATE_INITRD="$PLYMOUTH_LIBEXECDIR/plymouth/plymouth-populate-initrd"
[ -z "$PLYMOUTH_DESTDIR" ] && PLYMOUTH_DESTDIR="/boot"
[ -z "$PLYMOUTH_IMAGE_FILE" ] && PLYMOUTH_IMAGE_FILE="$PLYMOUTH_DESTDIR/initrd-plymouth.img"
PLYMOUTH_INITRD_DIR="$(mktemp --tmpdir -d plymouth-XXXXXXX)"
$PLYMOUTH_POPULATE_INITRD -t "$PLYMOUTH_INITRD_DIR"
if [ $? -eq 0 ]; then
(cd $PLYMOUTH_INITRD_DIR;
# FIXME: might make sense to add a flag to plymouth-populate-initrd to
# skip these from the start
rm -f lib*/{ld*,libc*,libdl*,libm*,libz*,libpthread*}
find | cpio -Hnewc -o | gzip -9 > $PLYMOUTH_IMAGE_FILE
)
fi
rm -rf $PLYMOUTH_INITRD_DIR
Loading…
Cancel
Save