1199536Smr#!/bin/sh 2199536Smr# 3199536Smr# Copyright (c) 2004-2005 Poul-Henning Kamp. 4199536Smr# All rights reserved. 5199536Smr# 6199536Smr# Redistribution and use in source and binary forms, with or without 7199536Smr# modification, are permitted provided that the following conditions 8199536Smr# are met: 9199536Smr# 1. Redistributions of source code must retain the above copyright 10199536Smr# notice, this list of conditions and the following disclaimer. 11199536Smr# 2. Redistributions in binary form must reproduce the above copyright 12199536Smr# notice, this list of conditions and the following disclaimer in the 13199536Smr# documentation and/or other materials provided with the distribution. 14199536Smr# 15199536Smr# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16199536Smr# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17199536Smr# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18199536Smr# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19199536Smr# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20199536Smr# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21199536Smr# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22199536Smr# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23199536Smr# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24199536Smr# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25199536Smr# SUCH DAMAGE. 26199536Smr# 27199536Smr# $FreeBSD$ 28199536Smr# 29199536Smr# Script to update partition 2 on a NanoBSD system. 30199536Smr# 31199536Smr# usage: 32199536Smr# ssh somewhere cat image.s1 | sh updatep2 33199536Smr# 34199536Smr 35199536Smrset -e 36199536Smr 37199536Smr. /etc/nanobsd.conf 38199536Smr 39199536Smrif mount | grep ${NANO_DRIVE}s2 > /dev/null ; then 40199536Smr echo "You are running partition 2 already" 41199536Smr echo "you probably want to use 'updatep1' instead" 42199536Smr exit 1 43199536Smrfi 44199536Smr 45199536Smr# Blow away old system. 46199536Smrdd if=/dev/zero of=/dev/${NANO_DRIVE}s2 bs=1m count=1 > /dev/null 2>&1 47199536Smr 48199536Smr# Copy in new system 49199536Smrdd of=/dev/${NANO_DRIVE}s2 obs=64k 50199536Smr 51199536Smr# Check that it worked 52199536Smrfsck_ffs -n /dev/${NANO_DRIVE}s2a 53199536Smr 54199536Smr# Update the /etc/fstab 55199536Smrtrap "umount /mnt" 1 2 15 EXIT 56199536Smrmount /dev/${NANO_DRIVE}s2a /mnt 57199536Smrsed -i "" "s/${NANO_DRIVE}s1/${NANO_DRIVE}s2/" /mnt/conf/base/etc/fstab 58199536Smrsed -i "" "s/${NANO_DRIVE}s1/${NANO_DRIVE}s2/" /mnt/etc/fstab 59199536Smrumount /mnt 60199536Smrtrap 1 2 15 EXIT 61199536Smrgpart set -a active -i 2 ${NANO_DRIVE} 62