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

Side by Side Diff: build_image

Issue 6801027: Standardize invocations of emerge in build_image (Closed) Base URL: ssh://gitrw.chromium.org:9222/crosutils.git@master
Patch Set: Tweak one emerge command Created 9 years, 8 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) 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 build a bootable keyfob-based chromeos system image from within 7 # Script to build a bootable keyfob-based chromeos system image from within
8 # a chromiumos setup. This assumes that all needed packages have been built into 8 # a chromiumos setup. This assumes that all needed packages have been built into
9 # the given target's root with binary packages turned on. This script will 9 # the given target's root with binary packages turned on. This script will
10 # build the Chrome OS image using only pre-built binary packages. 10 # build the Chrome OS image using only pre-built binary packages.
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 138
139 check_blacklist 139 check_blacklist
140 140
141 # TODO(petkov): Remove along with the --move_to_etc flag support once the 141 # TODO(petkov): Remove along with the --move_to_etc flag support once the
142 # transition dust settles. 142 # transition dust settles.
143 "${SCRIPTS_DIR}"/set_shared_user_password.sh --move_to_etc 143 "${SCRIPTS_DIR}"/set_shared_user_password.sh --move_to_etc
144 144
145 # TODO(vlaviano): Validate command line flags. Check for conflicting flags and 145 # TODO(vlaviano): Validate command line flags. Check for conflicting flags and
146 # reconcile them if possible. Exit with an error message otherwise. 146 # reconcile them if possible. Exit with an error message otherwise.
147 147
148 INSTALL_MASK="" 148 export INSTALL_MASK=""
149 if [ "${FLAGS_installmask}" -eq "${FLAGS_TRUE}" ] ; then 149 if [ ${FLAGS_installmask} -eq ${FLAGS_TRUE} ] ; then
150 INSTALL_MASK="${DEFAULT_INSTALL_MASK}" 150 INSTALL_MASK="${DEFAULT_INSTALL_MASK}"
151 fi 151 fi
152 152
153 # Reduce the size of factory install shim. 153 # Reduce the size of factory install shim.
154 if [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ]; then 154 if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
155 # Disable --withdev flag when --factory_install is set to True. Otherwise, the 155 # Disable --withdev flag when --factory_install is set to True. Otherwise, the
156 # dev image produced will be based on install shim, rather than a pristine 156 # dev image produced will be based on install shim, rather than a pristine
157 # image 157 # image
158 if [ "${FLAGS_withdev}" -eq "${FLAGS_TRUE}" ]; then 158 if [ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ]; then
159 info "Incompatible flags: --withdev and --factory_install cannot both be \ 159 info "Incompatible flags: --withdev and --factory_install cannot both be \
160 set to True. Resetting --withdev to False." 160 set to True. Resetting --withdev to False."
161 FLAGS_withdev=${FLAGS_FALSE} 161 FLAGS_withdev=${FLAGS_FALSE}
162 fi 162 fi
163 163
164 # TODO: Build a separated ebuild for the install shim to reduce size. 164 # TODO: Build a separated ebuild for the install shim to reduce size.
165 INSTALL_MASK="${INSTALL_MASK} ${FACTORY_INSTALL_MASK}" 165 INSTALL_MASK="${INSTALL_MASK} ${FACTORY_INSTALL_MASK}"
166 166
167 info "Fixing the rootfs size at 300 MiB for install shim" 167 info "Fixing the rootfs size at 300 MiB for install shim"
168 FLAGS_rootfs_size=280 168 FLAGS_rootfs_size=280
169 FLAGS_rootfs_partition_size=300 169 FLAGS_rootfs_partition_size=300
170 info "Fixing the statefulfs size at 140 MiB for install shim" 170 info "Fixing the statefulfs size at 140 MiB for install shim"
171 FLAGS_statefulfs_size=140 171 FLAGS_statefulfs_size=140
172 fi 172 fi
173 173
174 if [ "$((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad))" -gt \ 174 if [ $((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad)) -gt \
175 "${FLAGS_rootfs_partition_size}" ] ; then 175 ${FLAGS_rootfs_partition_size} ] ; then
176 die "rootfs ($((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad)) MiB) is \ 176 die "rootfs ($((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad)) MiB) is \
177 bigger than partition (${FLAGS_rootfs_partition_size} MiB)." 177 bigger than partition (${FLAGS_rootfs_partition_size} MiB)."
178 fi 178 fi
179 179
180 EMERGE_BOARD_CMD="emerge-${FLAGS_board}" 180 EMERGE_BOARD_CMD="emerge-${FLAGS_board}"
181 if [ "${FLAGS_fast}" -eq "${FLAGS_TRUE}" ]; then 181 if [ ${FLAGS_fast} -eq ${FLAGS_TRUE} ]; then
182 echo "Using alternate emerge" 182 echo "Using alternate emerge"
183 EMERGE_CMD="${GCLIENT_ROOT}/chromite/bin/parallel_emerge" 183 EMERGE_CMD="${GCLIENT_ROOT}/chromite/bin/parallel_emerge"
184 EMERGE_BOARD_CMD="${EMERGE_CMD} --board=${FLAGS_board}" 184 EMERGE_BOARD_CMD="${EMERGE_CMD} --board=${FLAGS_board}"
185 fi 185 fi
186 186
187 OVERLAY_CHROMEOS_DIR="${SRC_ROOT}/third_party/chromiumos-overlay/chromeos/" 187 OVERLAY_CHROMEOS_DIR="${SRC_ROOT}/third_party/chromiumos-overlay/chromeos/"
188 188
189 # Determine build version. 189 # Determine build version.
190 . "${OVERLAY_CHROMEOS_DIR}/config/chromeos_version.sh" 190 . "${OVERLAY_CHROMEOS_DIR}/config/chromeos_version.sh"
191 191
192 # Configure extra USE or packages for this type of build. 192 # Configure extra USE or packages for this type of build.
193 EXTRA_PACKAGES="" 193 EXTRA_PACKAGES=""
194 EXTRA_USE="" 194 if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ] ; then
195 if [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ] ; then
196 # Factory install needs to have the kernel initrmafs enabled, 195 # Factory install needs to have the kernel initrmafs enabled,
197 # and the factory installer added. 196 # and the factory installer added.
198 EXTRA_PACKAGES="${EXTRA_PACKAGES} chromeos-base/chromeos-factoryinstall" 197 EXTRA_PACKAGES="${EXTRA_PACKAGES} chromeos-base/chromeos-factoryinstall"
199 EXTRA_USE="${EXTRA_USE} initramfs" 198 export USE="${USE} initramfs"
200 fi 199 fi
201 200
201 emerge_to_image() {
202 sudo -E ${EMERGE_BOARD_CMD} --root-deps=rdeps --usepkgonly \
203 "$@" ${EMERGE_JOBS}
204 }
205
202 # Freshen kernel with correct USE flags. This is a noop if we have 206 # Freshen kernel with correct USE flags. This is a noop if we have
203 # the right kernel prebuilt. Factory install uses USE="initramfs". 207 # the right kernel prebuilt. Factory install uses USE="initramfs".
204 # We don't allow building from source with the image as a target, 208 # We don't allow building from source with the image as a target,
205 # and it's not possible to store prebuilts for the same package 209 # and it's not possible to store prebuilts for the same package
206 # with different use flags. 210 # with different use flags.
207 USE="${EXTRA_USE} ${USE}" emerge-${FLAGS_board} \ 211 sudo -E ${EMERGE_BOARD_CMD} -uDNv -g virtual/kernel
208 -uNDvg --binpkg-respect-use=y virtual/kernel
209 212
210 # Use canonical path since some tools (e.g. mount) do not like symlinks. 213 # Use canonical path since some tools (e.g. mount) do not like symlinks.
211 # Append build attempt to output directory. 214 # Append build attempt to output directory.
212 IMAGE_SUBDIR="${CHROMEOS_VERSION_STRING}-a${FLAGS_build_attempt}" 215 IMAGE_SUBDIR="${CHROMEOS_VERSION_STRING}-a${FLAGS_build_attempt}"
213 OUTPUT_DIR="${FLAGS_output_root}/${FLAGS_board}/${IMAGE_SUBDIR}" 216 OUTPUT_DIR="${FLAGS_output_root}/${FLAGS_board}/${IMAGE_SUBDIR}"
214 217
215 OUTSIDE_OUTPUT_DIR="../build/images/${FLAGS_board}/${IMAGE_SUBDIR}" 218 OUTSIDE_OUTPUT_DIR="../build/images/${FLAGS_board}/${IMAGE_SUBDIR}"
216 219
217 # If we are creating a developer image, also create a pristine image with a 220 # If we are creating a developer image, also create a pristine image with a
218 # different name. 221 # different name.
219 DEVELOPER_IMAGE_NAME= 222 DEVELOPER_IMAGE_NAME=
220 PRISTINE_IMAGE_NAME=chromiumos_image.bin 223 PRISTINE_IMAGE_NAME=chromiumos_image.bin
221 if [ "${FLAGS_withdev}" -eq "${FLAGS_TRUE}" ]; then 224 if [ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ]; then
222 PRISTINE_IMAGE_NAME=chromiumos_base_image.bin 225 PRISTINE_IMAGE_NAME=chromiumos_base_image.bin
223 DEVELOPER_IMAGE_NAME=chromiumos_image.bin 226 DEVELOPER_IMAGE_NAME=chromiumos_image.bin
224 # Rename pristine image for factory install shim 227 # Rename pristine image for factory install shim
225 elif [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ]; then 228 elif [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
226 PRISTINE_IMAGE_NAME=factory_install_shim.bin 229 PRISTINE_IMAGE_NAME=factory_install_shim.bin
227 fi 230 fi
228 231
229 PRISTINE_IMG="${OUTPUT_DIR}/${PRISTINE_IMAGE_NAME}" 232 PRISTINE_IMG="${OUTPUT_DIR}/${PRISTINE_IMAGE_NAME}"
230 DEVELOPER_IMG="${OUTPUT_DIR}/${DEVELOPER_IMAGE_NAME}" 233 DEVELOPER_IMG="${OUTPUT_DIR}/${DEVELOPER_IMAGE_NAME}"
231 234
232 BOARD="${FLAGS_board}" 235 BOARD="${FLAGS_board}"
233 BOARD_ROOT="${FLAGS_build_root}/${BOARD}" 236 BOARD_ROOT="${FLAGS_build_root}/${BOARD}"
234 237
235 ROOT_FS_IMG="${OUTPUT_DIR}/rootfs.image" 238 ROOT_FS_IMG="${OUTPUT_DIR}/rootfs.image"
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 ${SCRIPTS_DIR}/mount_gpt_image.sh --from "${OUTPUT_DIR}" \ 414 ${SCRIPTS_DIR}/mount_gpt_image.sh --from "${OUTPUT_DIR}" \
412 --image "${image_name}" -r "${ROOT_FS_DIR}" \ 415 --image "${image_name}" -r "${ROOT_FS_DIR}" \
413 -s "${STATEFUL_FS_DIR}" -e "${ESP_FS_DIR}" 416 -s "${STATEFUL_FS_DIR}" -e "${ESP_FS_DIR}"
414 417
415 # Determine the root dir for developer packages. 418 # Determine the root dir for developer packages.
416 local root_dev_dir="${ROOT_FS_DIR}" 419 local root_dev_dir="${ROOT_FS_DIR}"
417 [ ${FLAGS_statefuldev} -eq ${FLAGS_TRUE} ] && \ 420 [ ${FLAGS_statefuldev} -eq ${FLAGS_TRUE} ] && \
418 root_dev_dir="${ROOT_FS_DIR}/usr/local" 421 root_dev_dir="${ROOT_FS_DIR}/usr/local"
419 422
420 # Install developer packages described in chromeos-dev. 423 # Install developer packages described in chromeos-dev.
421 sudo -E USE="${USE} ${EXTRA_USE}" INSTALL_MASK="${INSTALL_MASK}" \ 424 emerge_to_image --root="${root_dev_dir}" -uDNv chromeos-dev
422 ${EMERGE_BOARD_CMD} --root="${root_dev_dir}" --root-deps=rdeps \
423 --usepkgonly -uDNv chromeos-dev ${EMERGE_JOBS}
424 425
425 if [[ $FLAGS_preserve -eq ${FLAGS_TRUE} ]] ; then 426 if [[ $FLAGS_preserve -eq ${FLAGS_TRUE} ]] ; then
426 # Clean out unused packages 427 # Clean out unused packages
427 sudo -E USE="${USE} ${EXTRA_USE}" INSTALL_MASK="${INSTALL_MASK}" \ 428 emerge_to_image --root="${ROOT_FS_DIR}" --depclean
428 ${EMERGE_BOARD_CMD} --root="${ROOT_FS_DIR}" --root-deps=rdeps \
429 --usepkgonly --depclean ${EMERGE_JOBS}
430 fi 429 fi
431 430
432 # Install the bare necessary files so that the "emerge" command works 431 # Install the bare necessary files so that the "emerge" command works
433 if [ ${FLAGS_statefuldev} -eq ${FLAGS_TRUE} ]; then 432 if [ ${FLAGS_statefuldev} -eq ${FLAGS_TRUE} ]; then
434 sudo cp -a ${root_dev_dir}/share/portage ${ROOT_FS_DIR}/usr/share 433 sudo cp -a ${root_dev_dir}/share/portage ${ROOT_FS_DIR}/usr/share
435 sudo sed -i s,/usr/bin/wget,wget, \ 434 sudo sed -i s,/usr/bin/wget,wget, \
436 ${ROOT_FS_DIR}/usr/share/portage/config/make.globals 435 ${ROOT_FS_DIR}/usr/share/portage/config/make.globals
437 fi 436 fi
438 sudo mkdir -p ${ROOT_FS_DIR}/etc/make.profile 437 sudo mkdir -p ${ROOT_FS_DIR}/etc/make.profile
439 438
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 echo "Updating base packages on ${image_name}" 498 echo "Updating base packages on ${image_name}"
500 499
501 # Create stateful partition of the same size as the rootfs. 500 # Create stateful partition of the same size as the rootfs.
502 trap "mount_gpt_cleanup" EXIT 501 trap "mount_gpt_cleanup" EXIT
503 502
504 ${SCRIPTS_DIR}/mount_gpt_image.sh --from "${OUTPUT_DIR}" \ 503 ${SCRIPTS_DIR}/mount_gpt_image.sh --from "${OUTPUT_DIR}" \
505 --image "${image_name}" -r "${ROOT_FS_DIR}" \ 504 --image "${image_name}" -r "${ROOT_FS_DIR}" \
506 -s "${STATEFUL_FS_DIR}" -e "${ESP_FS_DIR}" 505 -s "${STATEFUL_FS_DIR}" -e "${ESP_FS_DIR}"
507 506
508 # Emerge updated packages, exactly like when creating base image 507 # Emerge updated packages, exactly like when creating base image
509 sudo USE="${EXTRA_USE}" INSTALL_MASK="${INSTALL_MASK}" ${EMERGE_BOARD_CMD} \ 508 emerge_to_image --root="${ROOT_FS_DIR}" -uDNv chromeos ${EXTRA_PACKAGES}
510 --root="${ROOT_FS_DIR}" --root-deps=rdeps \
511 --usepkgonly -uDNv chromeos ${EXTRA_PACKAGES} ${EMERGE_JOBS}
512 509
513 # Clean out unused packages 510 # Clean out unused packages
514 sudo INSTALL_MASK="${INSTALL_MASK}" ${EMERGE_BOARD_CMD} \ 511 emerge_to_image --root="${ROOT_FS_DIR}" --depclean
515 --root="${ROOT_FS_DIR}" --root-deps=rdeps \
516 --usepkgonly --depclean ${EMERGE_JOBS}
517 512
518 trap - EXIT 513 trap - EXIT
519 ${SCRIPTS_DIR}/mount_gpt_image.sh -u -r "${ROOT_FS_DIR}" \ 514 ${SCRIPTS_DIR}/mount_gpt_image.sh -u -r "${ROOT_FS_DIR}" \
520 -s "${STATEFUL_FS_DIR}" -e "${ESP_FS_DIR}" 515 -s "${STATEFUL_FS_DIR}" -e "${ESP_FS_DIR}"
521 } 516 }
522 517
523 zero_free_space() { 518 zero_free_space() {
524 local fs_mount_point=$1 519 local fs_mount_point=$1
525 info "Zeroing freespace in ${fs_mount_point}" 520 info "Zeroing freespace in ${fs_mount_point}"
526 # dd is a silly thing and will produce a "No space left on device" message 521 # dd is a silly thing and will produce a "No space left on device" message
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 sudo mkdir -p "${ROOT_FS_DIR}/usr/local" 626 sudo mkdir -p "${ROOT_FS_DIR}/usr/local"
632 sudo mount --bind "${DEV_IMAGE_ROOT}" "${ROOT_FS_DIR}/usr/local" 627 sudo mount --bind "${DEV_IMAGE_ROOT}" "${ROOT_FS_DIR}/usr/local"
633 sudo mkdir -p "${ROOT_FS_DIR}/var" 628 sudo mkdir -p "${ROOT_FS_DIR}/var"
634 sudo mount --bind "${STATEFUL_FS_DIR}/var" "${ROOT_FS_DIR}/var" 629 sudo mount --bind "${STATEFUL_FS_DIR}/var" "${ROOT_FS_DIR}/var"
635 sudo mkdir -p "${ROOT_FS_DIR}/dev" 630 sudo mkdir -p "${ROOT_FS_DIR}/dev"
636 631
637 # We "emerge --root=${ROOT_FS_DIR} --root-deps=rdeps --usepkgonly" all of the 632 # We "emerge --root=${ROOT_FS_DIR} --root-deps=rdeps --usepkgonly" all of the
638 # runtime packages for chrome os. This builds up a chrome os image from 633 # runtime packages for chrome os. This builds up a chrome os image from
639 # binary packages with runtime dependencies only. We use INSTALL_MASK to 634 # binary packages with runtime dependencies only. We use INSTALL_MASK to
640 # trim the image size as much as possible. 635 # trim the image size as much as possible.
641 sudo USE="${EXTRA_USE}" INSTALL_MASK="${INSTALL_MASK}" ${EMERGE_BOARD_CMD} \ 636 emerge_to_image --root="${ROOT_FS_DIR}" chromeos ${EXTRA_PACKAGES}
642 --root="${ROOT_FS_DIR}" --root-deps=rdeps \
643 --usepkgonly chromeos ${EXTRA_PACKAGES} ${EMERGE_JOBS}
644 637
645 # Set /etc/lsb-release on the image. 638 # Set /etc/lsb-release on the image.
646 "${OVERLAY_CHROMEOS_DIR}/scripts/cros_set_lsb_release" \ 639 "${OVERLAY_CHROMEOS_DIR}/scripts/cros_set_lsb_release" \
647 --root="${ROOT_FS_DIR}" \ 640 --root="${ROOT_FS_DIR}" \
648 --board="${BOARD}" 641 --board="${BOARD}"
649 642
650 # Populates the root filesystem with legacy bootloader templates 643 # Populates the root filesystem with legacy bootloader templates
651 # appropriate for the platform. The autoupdater and installer will 644 # appropriate for the platform. The autoupdater and installer will
652 # use those templates to update the legacy boot partition (12/ESP) 645 # use those templates to update the legacy boot partition (12/ESP)
653 # on update. 646 # on update.
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 724
732 # Copy forward the developer image, if we already copied forward the base. 725 # Copy forward the developer image, if we already copied forward the base.
733 if [[ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ]] && \ 726 if [[ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ]] && \
734 [[ -f ${PREVIOUS_DIR}/${DEVELOPER_IMAGE_NAME} ]] ; then 727 [[ -f ${PREVIOUS_DIR}/${DEVELOPER_IMAGE_NAME} ]] ; then
735 cp ${PREVIOUS_DIR}/${DEVELOPER_IMAGE_NAME} ${OUTPUT_DIR} 728 cp ${PREVIOUS_DIR}/${DEVELOPER_IMAGE_NAME} ${OUTPUT_DIR}
736 fi 729 fi
737 fi 730 fi
738 fi 731 fi
739 732
740 # Perform an eclean to remove packages which are not installed 733 # Perform an eclean to remove packages which are not installed
741 if [[ "${FLAGS_eclean}" -eq "${FLAGS_TRUE}" ]]; then 734 if [[ ${FLAGS_eclean} -eq ${FLAGS_TRUE} ]]; then
742 eclean-${FLAGS_board} -d packages 735 eclean-${FLAGS_board} -d packages
743 fi 736 fi
744 737
745 # Create the boot.desc file which stores the build-time configuration 738 # Create the boot.desc file which stores the build-time configuration
746 # information needed for making the image bootable after creation with 739 # information needed for making the image bootable after creation with
747 # cros_make_image_bootable. 740 # cros_make_image_bootable.
748 create_boot_desc 741 create_boot_desc
749 742
750 if [[ -f ${PRISTINE_IMG} ]] ; then 743 if [[ -f ${PRISTINE_IMG} ]] ; then
751 update_base_packages ${PRISTINE_IMAGE_NAME} 744 update_base_packages ${PRISTINE_IMAGE_NAME}
752 else 745 else
753 create_base_image ${PRISTINE_IMAGE_NAME} 746 create_base_image ${PRISTINE_IMAGE_NAME}
754 fi 747 fi
755 748
756 USE_DEV_KEYS= 749 USE_DEV_KEYS=
757 if [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ]; then 750 if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
758 USE_DEV_KEYS="--use_dev_keys" 751 USE_DEV_KEYS="--use_dev_keys"
759 fi 752 fi
760 753
761 # Place flags before positional args 754 # Place flags before positional args
762 ${SCRIPTS_DIR}/bin/cros_make_image_bootable "${OUTPUT_DIR}" \ 755 ${SCRIPTS_DIR}/bin/cros_make_image_bootable "${OUTPUT_DIR}" \
763 "${PRISTINE_IMAGE_NAME}" \ 756 "${PRISTINE_IMAGE_NAME}" \
764 ${USE_DEV_KEYS} \ 757 ${USE_DEV_KEYS} \
765 ${crosbug12352_flag} 758 ${crosbug12352_flag}
766 759
767 # FIXME Test x86 image, and test arm image if enabled; 760 # FIXME Test x86 image, and test arm image if enabled;
768 # should unconditionally test an image after crosbug12352 is fixed 761 # should unconditionally test an image after crosbug12352 is fixed
769 if [[ "${ARCH}" = "x86" ]] || 762 if [[ "${ARCH}" = "x86" ]] ||
770 [[ "${ARCH}" = "arm" && 763 [[ "${ARCH}" = "arm" &&
771 "${FLAGS_crosbug12352_arm_kernel_signing}" -eq "${FLAGS_TRUE}" ]]; then 764 ${FLAGS_crosbug12352_arm_kernel_signing} -eq ${FLAGS_TRUE} ]]; then
772 BOOT_FLAG= 765 BOOT_FLAG=
773 if [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ]; then 766 if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
774 BOOT_FLAG="-b 1" # BOOT_FLAG_DEVELOPER value defined in load_kernel_fw.h 767 BOOT_FLAG="-b 1" # BOOT_FLAG_DEVELOPER value defined in load_kernel_fw.h
775 info "--factory_install set, pass BOOT_FLAG_DEVELOPER flag to \ 768 info "--factory_install set, pass BOOT_FLAG_DEVELOPER flag to \
776 load_kernel_test" 769 load_kernel_test"
777 fi 770 fi
778 771
779 # Verify the final image. 772 # Verify the final image.
780 load_kernel_test "${OUTPUT_DIR}/${PRISTINE_IMAGE_NAME}" \ 773 load_kernel_test "${OUTPUT_DIR}/${PRISTINE_IMAGE_NAME}" \
781 "${DEVKEYSDIR}/recovery_key.vbpubk" ${BOOT_FLAG} 774 "${DEVKEYSDIR}/recovery_key.vbpubk" ${BOOT_FLAG}
782 fi 775 fi
783 776
784 # Create a developer image based on the chromium os base image. 777 # Create a developer image based on the chromium os base image.
785 if [ "${FLAGS_withdev}" -eq "${FLAGS_TRUE}" ] ; then 778 if [ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ] ; then
786 if [[ ! -f ${DEVELOPER_IMG} ]] ; then 779 if [[ ! -f ${DEVELOPER_IMG} ]] ; then
787 echo "Creating developer image from base image ${PRISTINE_IMAGE_NAME}" 780 echo "Creating developer image from base image ${PRISTINE_IMAGE_NAME}"
788 cp ${PRISTINE_IMG} ${DEVELOPER_IMG} 781 cp ${PRISTINE_IMG} ${DEVELOPER_IMG}
789 fi 782 fi
790 783
791 update_dev_packages ${DEVELOPER_IMAGE_NAME} 784 update_dev_packages ${DEVELOPER_IMAGE_NAME}
792 ${SCRIPTS_DIR}/bin/cros_make_image_bootable "${OUTPUT_DIR}" \ 785 ${SCRIPTS_DIR}/bin/cros_make_image_bootable "${OUTPUT_DIR}" \
793 "${DEVELOPER_IMAGE_NAME}" \ 786 "${DEVELOPER_IMAGE_NAME}" \
794 ${crosbug12352_flag} 787 ${crosbug12352_flag}
795 fi 788 fi
796 789
797 # Clean up temporary files. 790 # Clean up temporary files.
798 rm -f "${ROOT_FS_IMG}" "${STATEFUL_FS_IMG}" "${OUTPUT_DIR}/vmlinuz.image" \ 791 rm -f "${ROOT_FS_IMG}" "${STATEFUL_FS_IMG}" "${OUTPUT_DIR}/vmlinuz.image" \
799 "${ESP_FS_IMG}" "${OUTPUT_DIR}/vmlinuz_hd.vblock" 792 "${ESP_FS_IMG}" "${OUTPUT_DIR}/vmlinuz_hd.vblock"
800 rmdir "${ROOT_FS_DIR}" "${STATEFUL_FS_DIR}" "${ESP_FS_DIR}" 793 rmdir "${ROOT_FS_DIR}" "${STATEFUL_FS_DIR}" "${ESP_FS_DIR}"
801 794
802 # Generating AU generator zip file to run outside chroot 795 # Generating AU generator zip file to run outside chroot
803 generate_au_zip || echo "Failed generating AU zip file - ignoring Error..." 796 generate_au_zip || echo "Failed generating AU zip file - ignoring Error..."
804 # Create a 'latest' link 797 # Create a 'latest' link
805 rm -f ${FLAGS_output_root}/${FLAGS_board}/latest 798 rm -f ${FLAGS_output_root}/${FLAGS_board}/latest
806 ln -s $(basename ${OUTPUT_DIR}) ${FLAGS_output_root}/${FLAGS_board}/latest 799 ln -s $(basename ${OUTPUT_DIR}) ${FLAGS_output_root}/${FLAGS_board}/latest
807 800
808 echo "Done. Image created in ${OUTPUT_DIR}" 801 echo "Done. Image created in ${OUTPUT_DIR}"
809 echo "Chromium OS image created as ${PRISTINE_IMAGE_NAME}" 802 echo "Chromium OS image created as ${PRISTINE_IMAGE_NAME}"
810 if [ "${FLAGS_withdev}" -eq "${FLAGS_TRUE}" ]; then 803 if [ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ]; then
811 echo "Developer image created as ${DEVELOPER_IMAGE_NAME}" 804 echo "Developer image created as ${DEVELOPER_IMAGE_NAME}"
812 fi 805 fi
813 806
814 print_time_elapsed 807 print_time_elapsed
815 808
816 echo "To copy to USB keyfob, do something like:" 809 echo "To copy to USB keyfob, do something like:"
817 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX" 810 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX"
818 echo "To convert to VMWare image, INSIDE the chroot, do something like:" 811 echo "To convert to VMWare image, INSIDE the chroot, do something like:"
819 echo " ./image_to_vm.sh --from=${OUTSIDE_OUTPUT_DIR} --board=${BOARD}" 812 echo " ./image_to_vm.sh --from=${OUTSIDE_OUTPUT_DIR} --board=${BOARD}"
820 echo "from the scripts directory where you entered the chroot." 813 echo "from the scripts directory where you entered the chroot."
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