diff options
author | phk <phk@FreeBSD.org> | 2005-09-21 09:40:45 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2005-09-21 09:40:45 +0000 |
commit | 936ef077e761187535774347dd7617bf62b5becc (patch) | |
tree | 21714dcbe64603145ffe9e3548ef84662c74517b /tools | |
parent | 1cf87107d0ea1076e56cad718ab287b5bd5eafe9 (diff) | |
download | FreeBSD-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_password | 35 | ||||
-rw-r--r-- | tools/tools/nanobsd/Files/root/save_sshkeys | 35 | ||||
-rw-r--r-- | tools/tools/nanobsd/Files/root/updatep | 25 | ||||
-rw-r--r-- | tools/tools/nanobsd/Files/root/updatep1 | 40 | ||||
-rw-r--r-- | tools/tools/nanobsd/Files/root/updatep2 | 49 |
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} |