X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=.bin%2Fcros-board;h=58a7870a53ea6c27007cca3104b6e09e58c50fcc;hb=3905519157d95566b58d67de5309fe7cf44dc268;hp=99c221e40de19c30de1241c76ccf09eceec1b68e;hpb=f9163cb524ab1775c39008aa340888263012cafe;p=home.git diff --git a/.bin/cros-board b/.bin/cros-board index 99c221e..58a7870 100755 --- a/.bin/cros-board +++ b/.bin/cros-board @@ -3,17 +3,56 @@ die() { eerror "$*"; exit 1; } set -e -cd "${HOME}/trunk/src/scripts/" +BASE="/mnt/host/source" +d="${BASE}/src/scripts" +BUILD_DIR="${BASE}/src/build" +cd "${BASE}/src/scripts/" -: ${BOARD:=`cat .default_board 2>/dev/null`} +: "${BOARD:="$(cat .default_board 2>/dev/null)"}" if [[ -z ${BOARD} ]] ; then die "missing BOARD" fi -IMAGES="${HOME}/trunk/src/build/images/${BOARD}" +IMAGES="${BASE}/src/build/images/${BOARD}" BUILD="/build/${BOARD}" +usage() { + exec cat < Write image to w/out prompting. + + -p Pretend -- show commands that would be run. + -v Verbose -- send command output to stdout. +EOF +} + +find_first_removable() { + local d + cd /sys/block + for d in sd? ; do + if [[ $(cat "${d}/removable" 2>/dev/null) == "1" ]]; then + echo "/dev/${d}" + return 0 + fi + done + return 0 +} + ARG_CLEAN=false -ARG_DEV="/dev/sdc" +ARG_DEV="$(find_first_removable)" ARG_DEV_USER=false ARG_PRETEND=false ARG_NOPKG=false @@ -21,6 +60,7 @@ ARG_AUTOTEST=false ARG_FACTORY=false ARG_VERBOSE=false ARG_TEST=false +ARG_VM=false while [[ $# -ne 0 ]] ; do case $1 in --clean) ARG_CLEAN=true;; @@ -32,7 +72,8 @@ while [[ $# -ne 0 ]] ; do --nousepkg) ARG_NOPKG=true;; --autotest) ARG_AUTOTEST=true;; --factory) ARG_FACTORY=true;; - -h) exec sed -n '/^while/,/^done/p' "$0";; + --vm) ARG_VM=true;; + -h) usage;; *) echo "unknown opt: $*"; exit 1;; esac shift @@ -52,7 +93,7 @@ run() { piperet eend $? || exit $? else - einfo "$*" + echo "$*" fi set -e } @@ -68,7 +109,7 @@ run ./update_chroot --toolchain_boards=${BOARD} if ${ARG_CLEAN} || [[ ! -d ${BUILD} ]] ; then run sudo rm -rf "${BUILD}" - run ./setup_board --board=${BOARD} --skip_chroot_upgrade + run setup_board --board=${BOARD} --skip-chroot-upgrade if [ $? -ne 0 ] ; then run sudo rm -rf "${BUILD}" exit 1 @@ -78,7 +119,8 @@ fi run ./build_packages \ --board=${BOARD} \ --nowithdebug \ - --skip_chroot_upgrade \ + --nowithrevdeps \ + --skip-chroot-upgrade \ $(tfe ${ARG_AUTOTEST} --{,no}withautotest) \ $(tfe ${ARG_FACTORY} --{,no}withfactory) \ $(tfe ${ARG_NOPKG} --{no,}usepkg) \ @@ -92,10 +134,14 @@ if ${ARG_DEV_USER} ; then sync & fi +IMG_TO_VM=( ${d}/image_to_vm.sh --board=${BOARD} --from=${BUILD_DIR}/images/${BOARD}/latest --test_image ) +if ${ARG_VM} ; then + run "${IMG_TO_VM[@]}" +fi + cd "${IMAGES}" rm -rf $(ls -td1R `find -mindepth 1 -maxdepth 1 -type d` | sed -e 1d -e 2d) -d="~/trunk/src/scripts" BUILD_IMG="${d}/${BUILD_IMG#./}" cat <