Bash程序  |  46行  |  1.2 KB

#!/bin/bash

# Only execute this script on a Brillo provisioned Edison.
# See your Brillo-Edison online information for initial provisioning and recovery.

set -e

function dir_with_file() {
    local file=${1}; shift
    local dir;
    for dir; do
        if [ -z "${dir}" ]; then continue; fi
        if [ -r "${dir}/${file}" ]; then
            echo ${dir}
            return
        fi
    done
    echo "Could not find ${file}, looked in $@" >&2
    return 1
}

LOCAL_DIR=$(dirname "${0}")

# Location of where the Brillo OS image is built.
OS=$(dir_with_file boot.img \
    "${ANDROID_PROVISION_OS_PARTITIONS}" \
    "${LOCAL_DIR}" \
    "${BRILLO_OUT_DIR}" \
    "${ANDROID_PRODUCT_OUT}")

# Location of binary blobs supplied by the vendor.
VENDOR=$(dir_with_file u-boot-edison.bin \
    "${ANDROID_PROVISION_VENDOR_PARTITIONS}" \
    "${LOCAL_DIR}" \
    "${ANDROID_BUILD_TOP}/vendor/bsp/intel/edison/uboot_firmware")

fastboot flash gpt     "${VENDOR}"/gpt.bin \
	flash u-boot   "${VENDOR}"/u-boot-edison.bin \
	flash boot_a   "${OS}"/boot.img \
	flash system_a "${OS}"/system.img \
	flash boot_b   "${OS}"/boot.img \
	flash system_b "${OS}"/system.img \
	flash userdata "${OS}"/userdata.img \
	oem set_active 0 "$@"