blob: b73d796a6882b74d3ca0ddc07d31f9dd4232fa1b [file] [log] [blame]
Chris Sosaa73ec162010-05-03 20:18:02 -07001#!/bin/sh
2
3# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7# This scripts performs update of stateful partition directories useful for
8# dev_mode.
9
10# Die on error.
11set -e
12
13STATEFUL_DIR="/mnt/stateful_partition"
14STATEFUL_IMAGE="$STATEFUL_DIR/stateful.image"
15STATEFUL_MOUNT_POINT="/tmp/s"
16
17PING_OMAHA=/opt/google/memento_updater/ping_omaha.sh
18
Sean O'Connora7f867e2010-05-27 17:53:32 -070019if [ -n "$1" ] ; then
20 OMAHA_ARG="--omaha_url=$1"
21fi
22
Chris Sosaa73ec162010-05-03 20:18:02 -070023# Get image url for stateful image
Sean O'Connora7f867e2010-05-27 17:53:32 -070024OMAHA_CHECK_OUTPUT=$($PING_OMAHA --app_version ForcedUpdate \
25 "$OMAHA_ARG" 2> /dev/null)
Chris Sosaa73ec162010-05-03 20:18:02 -070026ROOT_UPDATE_URL=$(echo "$OMAHA_CHECK_OUTPUT" | grep '^URL=' | cut -d = -f 2-)
27STATEFUL_UPDATE_URL="$(dirname "$ROOT_UPDATE_URL")/stateful.image.gz"
28
29# Prepare directories for update.
30rm -rf "$STATEFUL_DIR/var_new" "$STATEFUL_DIR/dev_image_new"
31
32# Prepare and mount new stateful partition.
33rm -rf "$STATEFUL_MOUNT_POINT"
34mkdir -p "$STATEFUL_MOUNT_POINT"
35
36# Unzip mount and copy the relevant directories.
37# Get the update.
Sean O'Connor1b4b0762010-06-02 17:37:32 -070038eval "wget -qS -T 300 -O - \"$STATEFUL_UPDATE_URL\"" | \
39 gzip -d > $STATEFUL_IMAGE
40echo "Successfully downloaded update"
Chris Sosaa73ec162010-05-03 20:18:02 -070041trap "rm -f \"$STATEFUL_IMAGE\"" EXIT
42mount -n -o loop "$STATEFUL_IMAGE" "$STATEFUL_MOUNT_POINT"
43if [ -d "$STATEFUL_MOUNT_POINT/var" ] && \
44 [ -d "$STATEFUL_MOUNT_POINT/dev_image" ] ; then
45 cp -rf "$STATEFUL_MOUNT_POINT/var" "$STATEFUL_DIR/var_new"
46 cp -rf "$STATEFUL_MOUNT_POINT/dev_image" "$STATEFUL_DIR/dev_image_new"
47 touch "$STATEFUL_DIR/.update_available"
48else
49 echo "No update available"
50fi
51
52umount -n -d "$STATEFUL_MOUNT_POINT"
53
54rm -f "$STATEFUL_IMAGE"
55
Sean O'Connora7f867e2010-05-27 17:53:32 -070056trap - EXIT