OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 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 | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 # | 6 # |
7 # Simple wrapper scipt to start a vm using the vm lib. | 7 # Simple wrapper scipt to start a vm using the vm lib. |
8 | 8 |
9 . "$(dirname $0)/../common.sh" | 9 # --- BEGIN COMMON.SH BOILERPLATE --- |
10 . "$(dirname $0)/../lib/cros_vm_lib.sh" | 10 # Load common CrOS utilities. Inside the chroot this file is installed in |
11 . "$(dirname "$0")/../lib/cros_vm_constants.sh" | 11 # /usr/lib/crosutils. Outside the chroot we find it relative to the script's |
| 12 # location. |
| 13 find_common_sh() { |
| 14 local common_paths=(/usr/lib/crosutils "$(dirname "$(readlink -f "$0")")/..") |
| 15 local path |
| 16 |
| 17 SCRIPT_ROOT= |
| 18 for path in "${common_paths[@]}"; do |
| 19 if [ -r "${path}/common.sh" ]; then |
| 20 SCRIPT_ROOT=${path} |
| 21 break |
| 22 fi |
| 23 done |
| 24 } |
| 25 |
| 26 find_common_sh |
| 27 . "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1) |
| 28 # --- END COMMON.SH BOILERPLATE --- |
| 29 |
| 30 . "${SCRIPT_ROOT}/lib/cros_vm_lib.sh" || die "Unable to load cros_vm_lib.sh" |
| 31 . "${SCRIPT_ROOT}/lib/cros_vm_constants.sh" || \ |
| 32 die "Unable to load cros_vm_constants.sh" |
12 | 33 |
13 get_default_board | 34 get_default_board |
14 | 35 |
15 DEFINE_string board "${DEFAULT_BOARD}" \ | 36 DEFINE_string board "${DEFAULT_BOARD}" \ |
16 "Board for VM image (unnecessary if path given)" | 37 "Board for VM image (unnecessary if path given)" |
17 DEFINE_string image_path "" "Full path of the VM image" | 38 DEFINE_string image_path "" "Full path of the VM image" |
18 | 39 |
19 set -e | 40 set -e |
20 | 41 |
21 # Parse command line. | 42 # Parse command line. |
22 FLAGS "$@" || exit 1 | 43 FLAGS "$@" || exit 1 |
23 eval set -- "${FLAGS_ARGV}" | 44 eval set -- "${FLAGS_ARGV}" |
24 | 45 |
25 # Use latest if not specified. | 46 # Use latest if not specified. |
26 if [ -z "${FLAGS_image_path}" ]; then | 47 if [ -z "${FLAGS_image_path}" ]; then |
27 LATEST_IMAGE="$(${SCRIPTS_DIR}/get_latest_image.sh \ | 48 LATEST_IMAGE="$(${SCRIPTS_DIR}/get_latest_image.sh \ |
28 --board=${FLAGS_board})/${DEFAULT_QEMU_IMAGE}" | 49 --board=${FLAGS_board})/${DEFAULT_QEMU_IMAGE}" |
29 info "Using latest vm image ${LATEST_IMAGE}" | 50 info "Using latest vm image ${LATEST_IMAGE}" |
30 FLAGS_image_path=${LATEST_IMAGE} | 51 FLAGS_image_path=${LATEST_IMAGE} |
31 fi | 52 fi |
32 | 53 |
33 [ -e "${FLAGS_image_path}" ] || die "Image ${FLAGS_image_path} does not exist." | 54 [ -e "${FLAGS_image_path}" ] || die "Image ${FLAGS_image_path} does not exist." |
34 | 55 |
35 start_kvm "${FLAGS_image_path}" | 56 start_kvm "${FLAGS_image_path}" |
36 | 57 |
37 echo "ssh root@${HOSTNAME} -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no" | 58 echo "ssh root@${HOSTNAME} -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no" |
OLD | NEW |