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

Side by Side Diff: bin/cros_make_image_bootable

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 | « bin/cros_get_chrome_version ('k') | bin/cros_overlay_list » ('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) 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 # Script which ensures that a given image has an up-to-date 7 # Script which ensures that a given image has an up-to-date
8 # kernel partition, rootfs integrity hashes, and legacy bootloader configs. 8 # kernel partition, rootfs integrity hashes, and legacy bootloader configs.
9 9
10 # Load common constants. This should be the first executable line. 10 # --- BEGIN COMMON.SH BOILERPLATE ---
11 # The path to common.sh should be relative to your script's location. 11 # Load common CrOS utilities. Inside the chroot this file is installed in
12 COMMON_PATH="$(dirname "$0")/../common.sh" 12 # /usr/lib/crosutils. Outside the chroot we find it relative to the script's
13 if [ ! -r "${COMMON_PATH}" ]; then 13 # location.
14 echo "ERROR! Cannot find common.sh: ${COMMON_PATH}" 1>&2 14 find_common_sh() {
15 exit 1 15 local common_paths=(/usr/lib/crosutils "$(dirname "$(readlink -f "$0")")/..")
16 fi 16 local path
17 17
18 . "$(dirname "$0")/../common.sh" 18 SCRIPT_ROOT=
19 for path in "${common_paths[@]}"; do
20 if [ -r "${path}/common.sh" ]; then
21 SCRIPT_ROOT=${path}
22 break
23 fi
24 done
25 }
19 26
20 # Script must be run inside the chroot. 27 find_common_sh
28 . "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1)
29 # --- END COMMON.SH BOILERPLATE ---
30
31 # Need to be inside the chroot to load chromeos-common.sh
21 assert_inside_chroot 32 assert_inside_chroot
22 33
34 # Load functions and constants for chromeos-install
35 . "/usr/lib/installer/chromeos-common.sh" || \
36 die "Unable to load /usr/lib/installer/chromeos-common.sh"
37
23 set -e 38 set -e
24 . "$(dirname "$0")/../chromeos-common.sh" # for partoffset and partsize
25 39
26 if [ $# -lt 2 ]; then 40 if [ $# -lt 2 ]; then
27 echo "Usage: ${0} /PATH/TO/IMAGE IMAGE.BIN [shflags overrides]" 41 echo "Usage: ${0} /PATH/TO/IMAGE IMAGE.BIN [shflags overrides]"
28 exit 1 42 exit 1
29 fi 43 fi
30 44
31 IMAGE_DIR="$(readlink -f "${1}")" 45 IMAGE_DIR="$(readlink -f "${1}")"
32 BOOT_DESC_FILE="${IMAGE_DIR}/boot.desc" 46 BOOT_DESC_FILE="${IMAGE_DIR}/boot.desc"
33 IMAGE="${IMAGE_DIR}/${2}" 47 IMAGE="${IMAGE_DIR}/${2}"
34 shift 48 shift
35 shift 49 shift
36 FLAG_OVERRIDES="${@}" 50 FLAG_OVERRIDES="${@}"
37 51
38 if [ ! -r "${BOOT_DESC_FILE}" ]; then 52 if [ ! -r "${BOOT_DESC_FILE}" ]; then
39 warn "${BOOT_DESC_FILE} cannot be read!" 53 warn "${BOOT_DESC_FILE} cannot be read!"
40 warn "Falling back to command line parsing" 54 warn "Falling back to command line parsing"
41 BOOT_DESC="${@}" 55 BOOT_DESC="${@}"
42 else 56 else
43 BOOT_DESC="$(cat ${BOOT_DESC_FILE} | tr -s '\n' ' ')" 57 BOOT_DESC="$(cat ${BOOT_DESC_FILE} | tr -s '\n' ' ')"
44 info "Boot-time configuration for $(dirname ${IMAGE}): " 58 info "Boot-time configuration for $(dirname "${IMAGE}"): "
45 cat ${BOOT_DESC_FILE} | while read line; do 59 cat ${BOOT_DESC_FILE} | while read line; do
46 info " ${line}" 60 info " ${line}"
47 done 61 done
48 fi 62 fi
49 63
50 if [ ! -r "${IMAGE}" ]; then 64 if [ ! -r "${IMAGE}" ]; then
51 die "${IMAGE} cannot be read!" 65 die "${IMAGE} cannot be read!"
52 fi 66 fi
53 67
54 68
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 145
132 cros_root=/dev/sd%D%P 146 cros_root=/dev/sd%D%P
133 if [[ "${FLAGS_arch}" = "arm" ]]; then 147 if [[ "${FLAGS_arch}" = "arm" ]]; then
134 cros_root='/dev/${devname}${rootpart}' 148 cros_root='/dev/${devname}${rootpart}'
135 fi 149 fi
136 if [[ ${FLAGS_enable_rootfs_verification} -eq ${FLAGS_TRUE} ]]; then 150 if [[ ${FLAGS_enable_rootfs_verification} -eq ${FLAGS_TRUE} ]]; then
137 cros_root=/dev/dm-0 151 cros_root=/dev/dm-0
138 fi 152 fi
139 153
140 trap "mount_gpt_cleanup" EXIT 154 trap "mount_gpt_cleanup" EXIT
141 ${SCRIPTS_DIR}/mount_gpt_image.sh --from "$(dirname ${image})" \ 155 "${SCRIPTS_DIR}/mount_gpt_image.sh" --from "$(dirname "${image}")" \
142 --image "$(basename ${image})" -r "${FLAGS_rootfs_mountpoint}" \ 156 --image "$(basename ${image})" -r "${FLAGS_rootfs_mountpoint}" \
143 -s "${FLAGS_statefulfs_mountpoint}" 157 -s "${FLAGS_statefulfs_mountpoint}"
144 158
145 # The rootfs should never be mounted rw again after this point without 159 # The rootfs should never be mounted rw again after this point without
146 # re-calling make_image_bootable. 160 # re-calling make_image_bootable.
147 sudo mount -o remount,ro "${FLAGS_rootfs_mountpoint}" 161 sudo mount -o remount,ro "${FLAGS_rootfs_mountpoint}"
148 root_dev=$(mount | grep -- "on ${FLAGS_rootfs_mountpoint} type" | 162 root_dev=$(mount | grep -- "on ${FLAGS_rootfs_mountpoint} type" |
149 cut -f1 -d' ' | tail -1) 163 cut -f1 -d' ' | tail -1)
150 164
151 # Make the filesystem un-mountable as read-write. 165 # Make the filesystem un-mountable as read-write.
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 mkdir -p ${FLAGS_espfs_mountpoint} 298 mkdir -p ${FLAGS_espfs_mountpoint}
285 299
286 make_image_bootable "${IMAGE}" 300 make_image_bootable "${IMAGE}"
287 verify_image_rootfs "${IMAGE}" 301 verify_image_rootfs "${IMAGE}"
288 302
289 if [ ${FLAGS_cleanup_dirs} -eq ${FLAGS_TRUE} ]; then 303 if [ ${FLAGS_cleanup_dirs} -eq ${FLAGS_TRUE} ]; then
290 rmdir ${FLAGS_rootfs_mountpoint} 304 rmdir ${FLAGS_rootfs_mountpoint}
291 rmdir ${FLAGS_statefulfs_mountpoint} 305 rmdir ${FLAGS_statefulfs_mountpoint}
292 rmdir ${FLAGS_espfs_mountpoint} 306 rmdir ${FLAGS_espfs_mountpoint}
293 fi 307 fi
OLDNEW
« no previous file with comments | « bin/cros_get_chrome_version ('k') | bin/cros_overlay_list » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698