summaryrefslogtreecommitdiffstats
path: root/scripts/plymouth-update-initrd
blob: ef438f32dc96b6f9c22b4bf76f184e3f9ba69a8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash

[ -z "$DESTDIR" ] || exit 0

set -e

[ -z "$LIB" ] && LIB="lib"
[ -z "$LIBDIR" ] && LIBDIR="/usr/$LIB"
[ -z "$LIBEXECDIR" ] && LIBEXECDIR="/usr/libexec"
[ -z "$DATADIR" ] && DATADIR="/usr/share"
[ -z "$INITRD" ] && INITRD="/boot/initrd-$(/bin/uname -r).img"

if [ -z "$NEW_INITRD" ]; then
  NEW_INITRD="$(dirname $INITRD)/$(basename $INITRD .img)-plymouth.img"
fi

TMPDIR="$(mktemp -d $PWD/initrd.XXXXXXXXXX)"

(
    cd $TMPDIR
    zcat $INITRD | cpio --quiet -Hnewc -i --make-directories
    sed -i -e 's@^#!\(.*\)@#!/bin/plymouth \1@' init 
    (
        cd $LIBDIR
        install -m755 $(/usr/bin/readlink libply.so) $TMPDIR/$LIB
        install -m755 $(/usr/bin/readlink libpng12.so) $TMPDIR/$LIB
    )
    /sbin/ldconfig -n lib

    install -m755 $LIBEXECDIR/plymouth/plymouth bin

    mkdir -p usr/share/plymouth

    install -m644 $DATADIR/pixmaps/fedora-logo.png usr/share/plymouth
    install -m644 $DATADIR/plymouth/star.png usr/share/plymouth

    mkdir -p usr/$LIB/plymouth
    install -m755 $LIBDIR/plymouth/fedora-fade-in.so usr/$LIB/plymouth

    rm -f $NEW_INITRD
    find | cpio --quiet -Hnewc -o | gzip -9 > $NEW_INITRD
    [ $? -eq 0 ] && echo "Wrote $NEW_INITRD"
)

rm -rf "$TMPDIR"

CURRENT_KERNEL=$(/sbin/grubby --default-kernel)

/sbin/grubby --title="Graphical Bootup"       \
             --add-kernel="$CURRENT_KERNEL"   \
	     --copy-default                   \
	     --args="vga=0x318 rhgb quiet"    \
	     --initrd="$NEW_INITRD"