summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2005-09-21 09:40:45 +0000
committerphk <phk@FreeBSD.org>2005-09-21 09:40:45 +0000
commit936ef077e761187535774347dd7617bf62b5becc (patch)
tree21714dcbe64603145ffe9e3548ef84662c74517b /tools
parent1cf87107d0ea1076e56cad718ab287b5bd5eafe9 (diff)
downloadFreeBSD-src-936ef077e761187535774347dd7617bf62b5becc.zip
FreeBSD-src-936ef077e761187535774347dd7617bf62b5becc.tar.gz
Update these scripts to be more userfriendly and usage safe.
Diffstat (limited to 'tools')
-rw-r--r--tools/tools/nanobsd/Files/root/change_password35
-rw-r--r--tools/tools/nanobsd/Files/root/save_sshkeys35
-rw-r--r--tools/tools/nanobsd/Files/root/updatep25
-rw-r--r--tools/tools/nanobsd/Files/root/updatep140
-rw-r--r--tools/tools/nanobsd/Files/root/updatep249
5 files changed, 133 insertions, 51 deletions
diff --git a/tools/tools/nanobsd/Files/root/change_password b/tools/tools/nanobsd/Files/root/change_password
index 17ac794..daf4c8c 100644
--- a/tools/tools/nanobsd/Files/root/change_password
+++ b/tools/tools/nanobsd/Files/root/change_password
@@ -1,17 +1,40 @@
#!/bin/sh
#
-# Copyright (c) 2004 Poul-Henning Kamp
+# Copyright (c) 2004-2005 Poul-Henning Kamp.
+# All rights reserved.
#
-# See /usr/share/examples/etc/bsd-style-copyright for license terms.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
#
# $FreeBSD$
+#
-set -ex
+set -e
passwd root
cfgslice=`grep '/cfg' /etc/fstab | cut -d \ -f 1`
-mount -o rw $cfgslice /mnt
-cp /etc/master.passwd /etc/passwd /etc/pwd.db /etc/spwd.db /etc/group /mnt
-umount /mnt
+trap "umount /cfg" 1 2 15 EXIT
+mount /cfg
+cp /etc/master.passwd /etc/passwd /etc/pwd.db /etc/spwd.db /etc/group /cfg
+umount /cfg
+trap 1 2 15 EXIT
diff --git a/tools/tools/nanobsd/Files/root/save_sshkeys b/tools/tools/nanobsd/Files/root/save_sshkeys
index 609fa29..de6d3e9 100644
--- a/tools/tools/nanobsd/Files/root/save_sshkeys
+++ b/tools/tools/nanobsd/Files/root/save_sshkeys
@@ -1,19 +1,40 @@
#!/bin/sh
#
-# Copyright (c) 2004 Poul-Henning Kamp
+# Copyright (c) 2004-2005 Poul-Henning Kamp.
+# All rights reserved.
#
-# See /usr/share/examples/etc/bsd-style-copyright for license terms.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
#
# $FreeBSD$
+#
-set -ex
-
-cfgslice=`grep '/cfg' /etc/fstab | cut -d \ -f 1`
+set -e
-mount -o rw $cfgslice /mnt
+trap "umount /cfg" 1 2 15 EXIT
+mount /cfg
mkdir -p /mnt/ssh
(
cd /etc/ssh
cp ssh_host_* /mnt/ssh
)
-umount /mnt
+umount /cfg
+trap 1 2 15 EXIT
diff --git a/tools/tools/nanobsd/Files/root/updatep b/tools/tools/nanobsd/Files/root/updatep
deleted file mode 100644
index b308cc9..0000000
--- a/tools/tools/nanobsd/Files/root/updatep
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-# Script to update the ALTROOTSLICE on NanoBSD systems.
-#
-# usage:
-# mdconfig -a -t vnode -f _.i.s1
-# ssh somewhere sh updatep < /dev/md0a
-# mdconfig -d -u 0
-#
-
-set -e
-
-altslice=`grep /alt /etc/fstab | cut -d \ -f 1`
-
-if mount | grep $altslice > /dev/null ; then
- echo "You have $altslice mounted, unmount it first"
- exit 1
-fi
-
-(echo 1 >/dev/led/error) 2>/dev/null || true
-dd of=$altslice obs=64k
-boot0cfg -s 1 -v ad0
-(echo 0 >/dev/led/error) 2>/dev/null || true
diff --git a/tools/tools/nanobsd/Files/root/updatep1 b/tools/tools/nanobsd/Files/root/updatep1
index 9c67749..6e094fa 100644
--- a/tools/tools/nanobsd/Files/root/updatep1
+++ b/tools/tools/nanobsd/Files/root/updatep1
@@ -1,8 +1,28 @@
#!/bin/sh
#
-# Copyright (c) 2004 Poul-Henning Kamp
+# Copyright (c) 2004-2005 Poul-Henning Kamp.
+# All rights reserved.
#
-# See /usr/share/examples/etc/bsd-style-copyright for license terms.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
#
# $FreeBSD$
#
@@ -14,11 +34,21 @@
set -e
-if mount | grep ad0s1 > /dev/null ; then
+. /etc/nanobsd.conf
+
+if mount | grep ${NANO_DRIVE}s1 > /dev/null ; then
echo "You are running partition 1 already"
echo "you probably want to use 'updatep2' instead"
exit 1
fi
-dd of=/dev/ad0s1 obs=64k
-boot0cfg -s 1 -v ad0
+# Blow away old system.
+dd if=/dev/zero of=/dev/${NANO_DRIVE}s1 bs=1m count=1 > /dev/null 2>&1
+
+# Copy in new system
+dd of=/dev/${NANO_DRIVE}s1 obs=64k
+
+# Check that it worked
+fsck_ffs -n /dev/${NANO_DRIVE}s1a
+
+boot0cfg -s 1 -v ${NANO_DRIVE}
diff --git a/tools/tools/nanobsd/Files/root/updatep2 b/tools/tools/nanobsd/Files/root/updatep2
index 6f8eb44..b9067eb 100644
--- a/tools/tools/nanobsd/Files/root/updatep2
+++ b/tools/tools/nanobsd/Files/root/updatep2
@@ -1,8 +1,28 @@
#!/bin/sh
#
-# Copyright (c) 2004 Poul-Henning Kamp
+# Copyright (c) 2004-2005 Poul-Henning Kamp.
+# All rights reserved.
#
-# See /usr/share/examples/etc/bsd-style-copyright for license terms.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
#
# $FreeBSD$
#
@@ -14,15 +34,28 @@
set -e
-if mount | grep ad0s2 > /dev/null ; then
+. /etc/nanobsd.conf
+
+if mount | grep ${NANO_DRIVE}s2 > /dev/null ; then
echo "You are running partition 2 already"
echo "you probably want to use 'updatep1' instead"
exit 1
fi
-dd of=/dev/ad0s2 obs=64k
-mount /dev/ad0s2a /mnt
-sed -i "" 's/ad0s1/ad0s2/' /mnt/conf/base/etc/fstab
-sed -i "" 's/ad0s1/ad0s2/' /mnt/etc/fstab
+# Blow away old system.
+dd if=/dev/zero of=/dev/${NANO_DRIVE}s2 bs=1m count=1 > /dev/null 2>&1
+
+# Copy in new system
+dd of=/dev/${NANO_DRIVE}s2 obs=64k
+
+# Check that it worked
+fsck_ffs -n /dev/${NANO_DRIVE}s2a
+
+# Update the /etc/fstab
+trap "umount /mnt" 1 2 15 EXIT
+mount /dev/${NANO_DRIVE}s2a /mnt
+sed -i "" "s/${NANO_DRIVE}s1/${NANO_DRIVE}s2/" /mnt/conf/base/etc/fstab
+sed -i "" "s/${NANO_DRIVE}s1/${NANO_DRIVE}s2/" /mnt/etc/fstab
umount /mnt
-boot0cfg -s 2 -v ad0
+trap 1 2 15 EXIT
+boot0cfg -s 2 -v ${NANO_DRIVE}
OpenPOWER on IntegriCloud