summaryrefslogtreecommitdiffstats
path: root/release/scripts/kernels-install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/kernels-install.sh')
-rw-r--r--release/scripts/kernels-install.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/release/scripts/kernels-install.sh b/release/scripts/kernels-install.sh
new file mode 100644
index 0000000..47d91a7
--- /dev/null
+++ b/release/scripts/kernels-install.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+if [ "`id -u`" != "0" ]; then
+ echo "Sorry, this must be done as root."
+ exit 1
+fi
+if [ $# -lt 1 ]; then
+ echo "You must specify which kernel to extract."
+ exit 1
+fi
+
+CONFIG=$1
+BOOT=${DESTDIR:-/}/boot
+KERNEL=$BOOT/$CONFIG
+
+if [ -d $KERNEL ]; then
+ echo "You are about to extract the $CONFIG kernel distribution into $KERNEL - are you SURE"
+ echo -n "you want to do this over your installed system (y/n)? "
+ read ans
+else
+ # new installation; do not prompt
+ ans=y
+fi
+if [ "$ans" = "y" ]; then
+ if [ -d $KERNEL ]; then
+ sav=$KERNEL.sav
+ if [ -d $sav ]; then
+ # XXX remove stuff w/o a prompt
+ echo "Removing existing $sav"
+ rm -rf $sav
+ fi
+ echo "Saving existing $KERNEL as $sav"
+ mv $KERNEL $sav
+ fi
+ # translate per Makefile:doTARBALL XXX are we sure to have tr+cut?
+ tn=`echo ${CONFIG} | tr 'A-Z' 'a-z' | cut -c1-8`
+ cat $tn.?? | tar --unlink -xpzf - -C ${DESTDIR:-/}
+else
+ echo "Installation of $CONFIG kernel distribution not done."
+fi
OpenPOWER on IntegriCloud