#!/bin/bash # # Copyright 2016 Google Inc. All Rights Reserved. # # This is a generic ChromeOS package/image test setup script. It is meant to # be used for the package bisection tool, in particular when there is a booting # issue with the image, so the image MUST be 'flashed' via USB. # # This script is intended to be used by binary_search_state.py, as # part of the binary search triage on ChromeOS objects and packages. It should # return '0' if the setup succeeds; and '1' if the setup fails (the image # could not built or be flashed). # export PYTHONUNBUFFERED=1 source common/common.sh echo "BUILDING IMAGE" pushd ~/trunk/src/scripts ./build_image test --board=${BISECT_BOARD} --noenable_rootfs_verification --noeclean build_status=$? popd if [[ ${build_status} -eq 0 ]] ; then echo echo "INSTALLING IMAGE VIA USB (requires some manual intervention)" echo echo "Insert a usb stick into the current machine" echo "Note: The cros flash will take time and doesn't give much output." echo " Be patient. If your usb access light is flashing it's working." sleep 1 read -p "Press enter to continue" notused cros flash --board=${BISECT_BOARD} --clobber-stateful usb:// ~/trunk/src/build/images/${BISECT_BOARD}/latest/chromiumos_test_image.bin echo echo "Flash to usb complete!" echo "Plug the usb into your chromebook and install the image." echo "Refer to the ChromiumOS Developer's Handbook for more details." echo "http://www.chromium.org/chromium-os/developer-guide#TOC-Boot-from-your-USB-disk" while true; do sleep 1 read -p "Was the installation of the image successful? " choice case $choice in [Yy]*) exit 0;; [Nn]*) exit 1;; *) echo "Please answer y or n.";; esac done else echo "build_image returned a non-zero status: ${build_status}" exit 1 fi exit 0