blob: d093f1fda86e211cfe8d0a31967bc271a4643d64 [file] [log] [blame]
#!/bin/sh
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This script is called after an AutoUpdate or USB install. This script is a
# simple wrapper to convert from the hardcoded command line to the new
# executable command line.
# NOTE: This script is called by installers like `chromeos-install` or
# `update_engine` from inside the mounted rootfs of the target image. So it is
# perfectly fine to modify this script without caring about backward/forward
# compatibility. But it can never be migrated to a non-shell script because it
# is being called by the original installer and that can break things badly.
INSTALL_ROOT=$(dirname "$0")
# Set up the mount points userland needs/expects.
MOUNTS="/proc /dev /sys /tmp /run /var /mnt/stateful_partition"
cleanup() {
local d
for d in ${MOUNTS}; do
umount -lf "./${d}" || :
done
}
main() {
cd "${INSTALL_ROOT}" || exit 1
trap cleanup EXIT
local d
for d in ${MOUNTS}; do
mount -n --bind "${d}" "./${d}"
mount --make-slave "./${d}"
done
local install_dev="$1"
shift
chroot . /usr/bin/cros_installer --type="postinst" \
--install_dev="${install_dev}" --install_dir="/" "$@"
}
main "$@"