1146402Sphk#!/bin/sh
2146402Sphk#
3150412Sphk# Copyright (c) 2004-2005 Poul-Henning Kamp.
4150412Sphk# All rights reserved.
5146402Sphk#
6150412Sphk# Redistribution and use in source and binary forms, with or without
7150412Sphk# modification, are permitted provided that the following conditions
8150412Sphk# are met:
9150412Sphk# 1. Redistributions of source code must retain the above copyright
10150412Sphk#    notice, this list of conditions and the following disclaimer.
11150412Sphk# 2. Redistributions in binary form must reproduce the above copyright
12150412Sphk#    notice, this list of conditions and the following disclaimer in the
13150412Sphk#    documentation and/or other materials provided with the distribution.
14146402Sphk#
15150412Sphk# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16150412Sphk# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17150412Sphk# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18150412Sphk# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19150412Sphk# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20150412Sphk# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21150412Sphk# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22150412Sphk# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23150412Sphk# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24150412Sphk# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25150412Sphk# SUCH DAMAGE.
26150412Sphk#
27146402Sphk# $FreeBSD$
28146402Sphk#
29146402Sphk# Script to update partition 1 on a NanoBSD system.
30146402Sphk#
31146402Sphk# usage:
32146402Sphk#	ssh somewhere cat image.s1 | sh updatep1
33146402Sphk#
34146402Sphk
35146402Sphkset -e
36146402Sphk
37150412Sphk. /etc/nanobsd.conf
38150412Sphk
39150412Sphkif mount | grep ${NANO_DRIVE}s1 > /dev/null ; then
40146402Sphk	echo "You are running partition 1 already"
41146402Sphk	echo "you probably want to use 'updatep2' instead"
42146402Sphk	exit 1
43146402Sphkfi
44146402Sphk
45150412Sphk# Blow away old system.
46150412Sphkdd if=/dev/zero of=/dev/${NANO_DRIVE}s1 bs=1m count=1 > /dev/null 2>&1
47150412Sphk
48150412Sphk# Copy in new system
49150412Sphkdd of=/dev/${NANO_DRIVE}s1 obs=64k
50150412Sphk
51150412Sphk# Check that it worked
52150412Sphkfsck_ffs -n /dev/${NANO_DRIVE}s1a
53150412Sphk
54205584Sphkgpart set -a active -i 1 ${NANO_DRIVE}
55