aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/make-boot-splash-raw
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2007-02-26 11:22:13 +0000
committerPascal Rigaux <pixel@mandriva.com>2007-02-26 11:22:13 +0000
commitea1f2a0a07862b6aa5e47dfac97042a3f21e13cd (patch)
treeb92b79a76fa099f3df7fa42ab1faa7bb3563d821 /scripts/make-boot-splash-raw
parente91a970cb5b9ec3ceb68bc325744d69f4f73eb9b (diff)
downloadbootsplash-ea1f2a0a07862b6aa5e47dfac97042a3f21e13cd.tar
bootsplash-ea1f2a0a07862b6aa5e47dfac97042a3f21e13cd.tar.gz
bootsplash-ea1f2a0a07862b6aa5e47dfac97042a3f21e13cd.tar.bz2
bootsplash-ea1f2a0a07862b6aa5e47dfac97042a3f21e13cd.tar.xz
bootsplash-ea1f2a0a07862b6aa5e47dfac97042a3f21e13cd.zip
create make-boot-splash-raw out of make-boot-splash
(to be used by mkcd)
Diffstat (limited to 'scripts/make-boot-splash-raw')
-rwxr-xr-xscripts/make-boot-splash-raw49
1 files changed, 49 insertions, 0 deletions
diff --git a/scripts/make-boot-splash-raw b/scripts/make-boot-splash-raw
new file mode 100755
index 0000000..e453b55
--- /dev/null
+++ b/scripts/make-boot-splash-raw
@@ -0,0 +1,49 @@
+#!/bin/sh
+# -*- Mode: shell-script -*-
+# Copyright (C) 2002 by Chmouel Boudjnah <chmouel@mandrakesoft.com>
+# Redistribution of this file is permitted under the terms of the GNU
+# Public License (GPL)
+# $Id$
+
+: ${splash_dir=/usr/share/bootsplash}
+: ${splash_cfg=/etc/bootsplash}
+
+[ $# = 3 ] || { echo "usage: $0 <initrd> <resolution> <theme>"; exit 1; }
+
+initrd_file=$1
+resolution=$2
+THEME=$3
+
+if [[ -f $splash_cfg/themes/$THEME/config/bootsplash-$resolution.cfg ]];then
+ config=$splash_cfg/themes/$THEME/config/bootsplash-$resolution.cfg
+fi
+
+if [[ -z $config ]];then
+ echo "Can't find a config file for resolution $resolution";
+ exit 1;
+fi
+
+# warly: we cannot use file command which is in /usr/bin/
+# initrd_type=`zcat /boot/initrd-2.6.14-2mdk.ramfs.img | file -`
+
+if `/bin/zcat $initrd_file 2> /dev/null | /bin/cpio -t &> /dev/null`; then
+ tmp_dir=`mktemp -d`
+ pushd $tmp_dir &> /dev/null
+ /bin/zcat $initrd_file 2>/dev/null | /bin/cpio -id 2>/dev/null
+ if [[ -x /sbin/splash ]]; then
+ /sbin/splash -s -f $config > $tmp_dir/bootsplash
+ else
+ if [[ -f $tmp_dir/bootsplash ]]; then
+ rm -f $tmp_dir/bootsplash
+ fi
+ fi
+ /bin/find . -print | cpio --quiet -c -o 2> /dev/null | gzip -c > $initrd_file
+ popd &> /dev/null
+ rm -rf $tmp_dir
+else
+ $splash_dir/scripts/remove-boot-splash $initrd_file
+
+ if [[ -x /sbin/splash ]]; then
+ /sbin/splash -s -f $config >> $initrd_file
+ fi
+fi