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

Side by Side Diff: mod_image_for_recovery.sh

Issue 6635010: Add transitional flag for ARM kernel signing in mod_image_for_recovery.sh. (Closed) Base URL: http://git.chromium.org/git/crosutils.git@master
Patch Set: Created 9 years, 9 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 | « no previous file | no next file » | 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 # This script modifies a base image to act as a recovery installer. 7 # This script modifies a base image to act as a recovery installer.
8 # If no kernel image is supplied, it will build a devkeys signed recovery 8 # If no kernel image is supplied, it will build a devkeys signed recovery
9 # kernel. Alternatively, a signed recovery kernel can be used to 9 # kernel. Alternatively, a signed recovery kernel can be used to
10 # create a Chromium OS recovery image. 10 # create a Chromium OS recovery image.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 DEFINE_string rootfs_hash "/tmp/rootfs.hash" \ 74 DEFINE_string rootfs_hash "/tmp/rootfs.hash" \
75 "Path where the rootfs hash should be stored." 75 "Path where the rootfs hash should be stored."
76 76
77 DEFINE_boolean verbose $FLAGS_FALSE \ 77 DEFINE_boolean verbose $FLAGS_FALSE \
78 "Log all commands to stdout." v 78 "Log all commands to stdout." v
79 79
80 # Keep in sync with build_image. 80 # Keep in sync with build_image.
81 DEFINE_string keys_dir "/usr/share/vboot/devkeys" \ 81 DEFINE_string keys_dir "/usr/share/vboot/devkeys" \
82 "Directory containing the signing keys." 82 "Directory containing the signing keys."
83 83
84 # TODO(clchiou): Remove this flag after arm verified boot is stable
85 DEFINE_boolean crosbug12352_arm_kernel_signing ${FLAGS_FALSE} \
86 "Sign kernel partition for ARM images (temporary hack)."
87
84 # Parse command line 88 # Parse command line
85 FLAGS "$@" || exit 1 89 FLAGS "$@" || exit 1
86 eval set -- "${FLAGS_ARGV}" 90 eval set -- "${FLAGS_ARGV}"
87 91
88 if [ $FLAGS_verbose -eq $FLAGS_FALSE ]; then 92 if [ $FLAGS_verbose -eq $FLAGS_FALSE ]; then
89 exec 2>/dev/null 93 exec 2>/dev/null
90 # Redirecting to stdout instead of stderr since 94 # Redirecting to stdout instead of stderr since
91 # we silence stderr above. 95 # we silence stderr above.
92 die() { 96 die() {
93 echo -e "${V_BOLD_RED}ERROR : $1${V_VIDOFF}" 97 echo -e "${V_BOLD_RED}ERROR : $1${V_VIDOFF}"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 error "ARM recovery mode is still in the works. Use a normal image for now." 136 error "ARM recovery mode is still in the works. Use a normal image for now."
133 ;; 137 ;;
134 *86) 138 *86)
135 ARCH="x86" 139 ARCH="x86"
136 ;; 140 ;;
137 *) 141 *)
138 error "Unable to determine ARCH from toolchain: ${CHOST}" 142 error "Unable to determine ARCH from toolchain: ${CHOST}"
139 exit 1 143 exit 1
140 esac 144 esac
141 145
146 if [[ ${FLAGS_crosbug12352_arm_kernel_signing} -eq ${FLAGS_TRUE} ]]; then
147 crosbug12352_flag="--crosbug12352_arm_kernel_signing"
148 else
149 crosbug12352_flag="--nocrosbug12352_arm_kernel_signing"
150 fi
151
142 get_install_vblock() { 152 get_install_vblock() {
143 # If it exists, we need to copy the vblock over to stateful 153 # If it exists, we need to copy the vblock over to stateful
144 # This is the real vblock and not the recovery vblock. 154 # This is the real vblock and not the recovery vblock.
145 local stateful_offset=$(partoffset "$FLAGS_image" 1) 155 local stateful_offset=$(partoffset "$FLAGS_image" 1)
146 local stateful_mnt=$(mktemp -d) 156 local stateful_mnt=$(mktemp -d)
147 local out=$(mktemp) 157 local out=$(mktemp)
148 158
149 set +e 159 set +e
150 sudo mount -o ro,loop,offset=$((stateful_offset * 512)) \ 160 sudo mount -o ro,loop,offset=$((stateful_offset * 512)) \
151 "$FLAGS_image" $stateful_mnt 161 "$FLAGS_image" $stateful_mnt
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 --hd_vblock="$RECOVERY_KERNEL_VBLOCK" \ 242 --hd_vblock="$RECOVERY_KERNEL_VBLOCK" \
233 --vmlinuz="$vmlinuz" \ 243 --vmlinuz="$vmlinuz" \
234 --working_dir="${IMAGE_DIR}" \ 244 --working_dir="${IMAGE_DIR}" \
235 --boot_args="panic=60 cros_recovery kern_b_hash=$kern_hash" \ 245 --boot_args="panic=60 cros_recovery kern_b_hash=$kern_hash" \
236 --keep_work \ 246 --keep_work \
237 --rootfs_image=${root_dev} \ 247 --rootfs_image=${root_dev} \
238 --rootfs_hash=${FLAGS_rootfs_hash} \ 248 --rootfs_hash=${FLAGS_rootfs_hash} \
239 --root=${cros_root} \ 249 --root=${cros_root} \
240 --keys_dir="${FLAGS_keys_dir}" \ 250 --keys_dir="${FLAGS_keys_dir}" \
241 --nouse_dev_keys \ 251 --nouse_dev_keys \
252 ${crosbug12352_flag} \
242 ${verity_args} 1>&2 253 ${verity_args} 1>&2
243 sudo rm "$FLAGS_rootfs_hash" 254 sudo rm "$FLAGS_rootfs_hash"
244 sudo losetup -d "$root_dev" 255 sudo losetup -d "$root_dev"
245 trap - RETURN 256 trap - RETURN
246 257
247 # Update the EFI System Partition configuration so that the kern_hash check 258 # Update the EFI System Partition configuration so that the kern_hash check
248 # passes. 259 # passes.
249 local efi_dev=$(sudo losetup -f) 260 local efi_dev=$(sudo losetup -f)
250 local efi_offset=$(partoffset "$FLAGS_image" 12) 261 local efi_offset=$(partoffset "$FLAGS_image" 12)
251 local efi_size=$(partsize "$FLAGS_image" 12) 262 local efi_size=$(partsize "$FLAGS_image" 12)
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 449
439 trap cleanup EXIT 450 trap cleanup EXIT
440 451
441 maybe_resize_stateful # Also copies the image if needed. 452 maybe_resize_stateful # Also copies the image if needed.
442 453
443 install_recovery_kernel 454 install_recovery_kernel
444 455
445 echo "Recovery image created at $RECOVERY_IMAGE" 456 echo "Recovery image created at $RECOVERY_IMAGE"
446 print_time_elapsed 457 print_time_elapsed
447 trap - EXIT 458 trap - EXIT
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698