Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(559)

Side by Side Diff: mod_image_for_test.sh

Issue 6240018: This starts to fix the scripts so that they load from /usr/lib/crosutils (Closed) Base URL: http://git.chromium.org/git/crosutils.git@master
Patch Set: fixing bad merge Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mod_image_for_recovery.sh ('k') | mount_gpt_image.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2009 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 # Script to modify a keyfob-based chromeos system image for testability. 7 # Script to modify a keyfob-based chromeos system image for testability.
8 8
9 # Load common constants. This should be the first executable line. 9 # --- BEGIN COMMON.SH BOILERPLATE ---
10 # The path to common.sh should be relative to your script's location. 10 # Load common CrOS utilities. Inside the chroot this file is installed in
11 . "$(dirname "$0")/common.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 # Need to be inside the chroot to load chromeos-common.sh
31 assert_inside_chroot
12 32
13 # Load functions and constants for chromeos-install 33 # Load functions and constants for chromeos-install
14 . "$(dirname "$0")/chromeos-common.sh" 34 . "/usr/lib/installer/chromeos-common.sh" || \
15 35 die "Unable to load /usr/lib/installer/chromeos-common.sh"
16 # We need to be in the chroot to emerge test packages.
17 assert_inside_chroot
18 36
19 get_default_board 37 get_default_board
20 38
21 DEFINE_string board "$DEFAULT_BOARD" "Board for which the image was built" b 39 DEFINE_string board "$DEFAULT_BOARD" "Board for which the image was built" b
22 DEFINE_boolean factory $FLAGS_FALSE \ 40 DEFINE_boolean factory $FLAGS_FALSE \
23 "Modify the image for manufacturing testing" f 41 "Modify the image for manufacturing testing" f
24 DEFINE_boolean factory_install $FLAGS_FALSE \ 42 DEFINE_boolean factory_install $FLAGS_FALSE \
25 "Modify the image for factory install shim" 43 "Modify the image for factory install shim"
26 DEFINE_string image "" "Location of the rootfs raw image file" i 44 DEFINE_string image "" "Location of the rootfs raw image file" i
27 DEFINE_boolean installmask $FLAGS_TRUE \ 45 DEFINE_boolean installmask $FLAGS_TRUE \
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 error "Unable to determine ARCH from toolchain: ${CHOST}" 103 error "Unable to determine ARCH from toolchain: ${CHOST}"
86 exit 1 104 exit 1
87 esac 105 esac
88 106
89 # Make sure anything mounted in the rootfs/stateful is cleaned up ok on exit. 107 # Make sure anything mounted in the rootfs/stateful is cleaned up ok on exit.
90 cleanup_mounts() { 108 cleanup_mounts() {
91 # Occasionally there are some daemons left hanging around that have our 109 # Occasionally there are some daemons left hanging around that have our
92 # root/stateful image file system open. We do a best effort attempt to kill 110 # root/stateful image file system open. We do a best effort attempt to kill
93 # them. 111 # them.
94 PIDS=`sudo lsof -t "$1" | sort | uniq` 112 PIDS=`sudo lsof -t "$1" | sort | uniq`
95 for pid in ${PIDS} 113 for pid in ${PIDS}; do
96 do
97 local cmdline=`cat /proc/$pid/cmdline` 114 local cmdline=`cat /proc/$pid/cmdline`
98 echo "Killing process that has open file on the mounted directory: $cmdline" 115 echo "Killing process that has open file on the mounted directory: $cmdline"
99 sudo kill $pid || /bin/true 116 sudo kill $pid || /bin/true
100 done 117 done
101 } 118 }
102 119
103 cleanup() { 120 cleanup() {
104 "$SCRIPTS_DIR/mount_gpt_image.sh" -u -r "$ROOT_FS_DIR" -s "$STATEFUL_DIR" 121 "$SCRIPTS_DIR/mount_gpt_image.sh" -u -r "$ROOT_FS_DIR" -s "$STATEFUL_DIR"
105 } 122 }
106 123
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 if [ "$SURE" != "y" ]; then 179 if [ "$SURE" != "y" ]; then
163 echo "Ok, better safe than sorry." 180 echo "Ok, better safe than sorry."
164 exit 1 181 exit 1
165 fi 182 fi
166 else 183 else
167 echo "Modifying image ${FLAGS_image} for test..." 184 echo "Modifying image ${FLAGS_image} for test..."
168 fi 185 fi
169 186
170 set -e 187 set -e
171 188
172 IMAGE_DIR="$(dirname "$FLAGS_image")" 189 IMAGE_DIR=$(dirname "$FLAGS_image")
173 IMAGE_NAME="$(basename "$FLAGS_image")" 190 IMAGE_NAME="$(basename "$FLAGS_image")"
174 ROOT_FS_DIR="$IMAGE_DIR/rootfs" 191 ROOT_FS_DIR="$IMAGE_DIR/rootfs"
175 STATEFUL_DIR="$IMAGE_DIR/stateful_partition" 192 STATEFUL_DIR="$IMAGE_DIR/stateful_partition"
176 SCRIPTS_DIR=$(dirname "$0") 193 SCRIPTS_DIR=${SCRIPT_ROOT}
177 DEV_USER="chronos" 194 DEV_USER="chronos"
178 195
179 trap cleanup EXIT 196 trap cleanup EXIT
180 197
181 # Mounts gpt image and sets up var, /usr/local and symlinks. 198 # Mounts gpt image and sets up var, /usr/local and symlinks.
182 "$SCRIPTS_DIR/mount_gpt_image.sh" -i "$IMAGE_NAME" -f "$IMAGE_DIR" \ 199 "$SCRIPTS_DIR/mount_gpt_image.sh" -i "$IMAGE_NAME" -f "$IMAGE_DIR" \
183 -r "$ROOT_FS_DIR" -s "$STATEFUL_DIR" 200 -r "$ROOT_FS_DIR" -s "$STATEFUL_DIR"
184 201
185 if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then 202 if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
186 # We don't want to emerge test packages on factory install, otherwise we run 203 # We don't want to emerge test packages on factory install, otherwise we run
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 # Let's have a look at the image just in case.. 239 # Let's have a look at the image just in case..
223 if [ "${VERIFY}" = "true" ]; then 240 if [ "${VERIFY}" = "true" ]; then
224 pushd "${ROOT_FS_DIR}" 241 pushd "${ROOT_FS_DIR}"
225 bash 242 bash
226 popd 243 popd
227 fi 244 fi
228 245
229 cleanup 246 cleanup
230 247
231 # Now make it bootable with the flags from build_image 248 # Now make it bootable with the flags from build_image
232 ${SCRIPTS_DIR}/bin/cros_make_image_bootable $(dirname "${FLAGS_image}") \ 249 "${SCRIPTS_DIR}/bin/cros_make_image_bootable" "$(dirname "${FLAGS_image}")" \
233 $(basename "${FLAGS_image}") 250 $(basename "${FLAGS_image}")
234 251
235 print_time_elapsed 252 print_time_elapsed
236 253
237 trap - EXIT 254 trap - EXIT
238 255
OLDNEW
« no previous file with comments | « mod_image_for_recovery.sh ('k') | mount_gpt_image.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698