summaryrefslogtreecommitdiffstats
path: root/release
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2006-03-08 18:03:09 +0000
committersam <sam@FreeBSD.org>2006-03-08 18:03:09 +0000
commitd8de19b5bd92d8e69276e26a077f19bbc5ac4e98 (patch)
treebd922b50de8085a65b00f665fedf5d86b522e286 /release
parentfa1fbfedc2f06342ca8bbae5b057d8bd2c14cc59 (diff)
downloadFreeBSD-src-d8de19b5bd92d8e69276e26a077f19bbc5ac4e98.zip
FreeBSD-src-d8de19b5bd92d8e69276e26a077f19bbc5ac4e98.tar.gz
kernel install script (missed in previous commit)
Diffstat (limited to 'release')
-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