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

Side by Side Diff: build_image

Issue 3448022: build_image: Merge x86 and ARM where possible. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git
Patch Set: Codereview ate my homework. Created 10 years, 3 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 | « build_gpt.sh ('k') | create_esp.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 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 "How many packages to build in parallel at maximum." 42 "How many packages to build in parallel at maximum."
43 DEFINE_boolean statefuldev ${FLAGS_TRUE} \ 43 DEFINE_boolean statefuldev ${FLAGS_TRUE} \
44 "Install development packages on stateful partition rather than the rootfs" 44 "Install development packages on stateful partition rather than the rootfs"
45 DEFINE_string to "" \ 45 DEFINE_string to "" \
46 "The target image file or device" 46 "The target image file or device"
47 DEFINE_boolean factory_install ${FLAGS_FALSE} \ 47 DEFINE_boolean factory_install ${FLAGS_FALSE} \
48 "Build a smaller image to overlay the factory install shim on; this argument \ 48 "Build a smaller image to overlay the factory install shim on; this argument \
49 is also required in image_to_usb." 49 is also required in image_to_usb."
50 DEFINE_boolean dev_install ${FLAGS_FALSE} \ 50 DEFINE_boolean dev_install ${FLAGS_FALSE} \
51 "Build a smaller image to overlay the dev recovery install shim on" 51 "Build a smaller image to overlay the dev recovery install shim on"
52 DEFINE_string arm_extra_bootargs "" \
53 "Additional command line options to pass to the ARM kernel."
54 DEFINE_integer rootfs_partition_size 1024 \ 52 DEFINE_integer rootfs_partition_size 1024 \
55 "rootfs partition size in MiBs." 53 "rootfs partition size in MiBs."
56 DEFINE_integer rootfs_size 720 \ 54 DEFINE_integer rootfs_size 720 \
57 "rootfs filesystem size in MiBs." 55 "rootfs filesystem size in MiBs."
58 # ceil(0.1 * rootfs_size) is a good minimum. 56 # ceil(0.1 * rootfs_size) is a good minimum.
59 DEFINE_integer rootfs_hash_pad 8 \ 57 DEFINE_integer rootfs_hash_pad 8 \
60 "MiBs reserved at the end of the rootfs image." 58 "MiBs reserved at the end of the rootfs image."
61 DEFINE_integer statefulfs_size 1024 \ 59 DEFINE_integer statefulfs_size 1024 \
62 "stateful filesystem size in MiBs." 60 "stateful filesystem size in MiBs."
63 DEFINE_boolean preserve ${FLAGS_FALSE} \ 61 DEFINE_boolean preserve ${FLAGS_FALSE} \
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 --rootfs_hash="${ROOT_FS_HASH}" 351 --rootfs_hash="${ROOT_FS_HASH}"
354 --rootfs_mountpoint="${ROOT_FS_DIR}" 352 --rootfs_mountpoint="${ROOT_FS_DIR}"
355 --statefulfs_mountpoint="${STATEFUL_FS_DIR}" 353 --statefulfs_mountpoint="${STATEFUL_FS_DIR}"
356 --espfs_mountpoint="${ESP_FS_DIR}" 354 --espfs_mountpoint="${ESP_FS_DIR}"
357 --verity_error_behavior="${FLAGS_verity_error_behavior}" 355 --verity_error_behavior="${FLAGS_verity_error_behavior}"
358 --verity_depth="${FLAGS_verity_depth}" 356 --verity_depth="${FLAGS_verity_depth}"
359 --verity_max_ios="${FLAGS_verity_max_ios}" 357 --verity_max_ios="${FLAGS_verity_max_ios}"
360 --verity_algorithm="${FLAGS_verity_algorithm}" 358 --verity_algorithm="${FLAGS_verity_algorithm}"
361 --keys_dir="${DEVKEYSDIR}" 359 --keys_dir="${DEVKEYSDIR}"
362 --usb_disk="${FLAGS_usb_disk}" 360 --usb_disk="${FLAGS_usb_disk}"
363 --arm_extra_bootargs="${FLAGS_arm_extra_bootargs}"
364 --nocleanup_dirs 361 --nocleanup_dirs
365 ${enable_rootfs_verification_flag} 362 ${enable_rootfs_verification_flag}
366 EOF 363 EOF
367 } 364 }
368 365
369 # Modifies an existing image to add development packages 366 # Modifies an existing image to add development packages
370 update_dev_packages() { 367 update_dev_packages() {
371 local image_name=$1 368 local image_name=$1
372 369
373 echo "Adding developer packages to ${image_name}" 370 echo "Adding developer packages to ${image_name}"
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 --target="${ARCH}" 627 --target="${ARCH}"
631 fi 628 fi
632 629
633 # Clean up symlinks so they work on a running target rooted at "/". 630 # Clean up symlinks so they work on a running target rooted at "/".
634 # Here development packages are rooted at /usr/local. However, do not 631 # Here development packages are rooted at /usr/local. However, do not
635 # create /usr/local or /var on host (already exist on target). 632 # create /usr/local or /var on host (already exist on target).
636 setup_symlinks_on_root "/usr/local" "/var" "${STATEFUL_FS_DIR}" 633 setup_symlinks_on_root "/usr/local" "/var" "${STATEFUL_FS_DIR}"
637 634
638 # cros_make_image_bootable will clobber vmlinuz.image for x86. 635 # cros_make_image_bootable will clobber vmlinuz.image for x86.
639 # Until then, just copy the kernel to vmlinuz.image. It is 636 # Until then, just copy the kernel to vmlinuz.image. It is
640 # expected in build_gpt.sh and needed by ARM until it supports the 637 # expected in build_gpt.sh.
641 # full, signed kernel partition format.
642 cp "${ROOT_FS_DIR}/boot/vmlinuz" "${OUTPUT_DIR}/vmlinuz.image" 638 cp "${ROOT_FS_DIR}/boot/vmlinuz" "${OUTPUT_DIR}/vmlinuz.image"
643 639
644 # Create an empty esp image to be updated in by update_bootloaders.sh. 640 # Create an empty esp image to be updated in by update_bootloaders.sh.
645 ${SCRIPTS_DIR}/create_esp.sh --to="${ESP_FS_IMG}" 641 ${SCRIPTS_DIR}/create_esp.sh --to="${ESP_FS_IMG}"
646 642
647 cleanup 643 cleanup
648 644
649 trap delete_prompt EXIT 645 trap delete_prompt EXIT
650 646
651 # Create the GPT-formatted image. 647 # Create the GPT-formatted image.
652 ${SCRIPTS_DIR}/build_gpt.sh \ 648 ${SCRIPTS_DIR}/build_gpt.sh \
653 --arch=${ARCH} \ 649 --arch=${ARCH} \
654 --board=${FLAGS_board} \ 650 --board=${FLAGS_board} \
655 --arm_extra_bootargs="${FLAGS_arm_extra_bootargs}" \
656 --rootfs_partition_size=${FLAGS_rootfs_partition_size} \ 651 --rootfs_partition_size=${FLAGS_rootfs_partition_size} \
657 "${OUTPUT_DIR}" \ 652 "${OUTPUT_DIR}" \
658 "${OUTPUT_DIR}/${image_name}" 653 "${OUTPUT_DIR}/${image_name}"
659 654
660 # Pre-set "sucessful" bit in gpt, so we will never mark-for-death 655 # Pre-set "sucessful" bit in gpt, so we will never mark-for-death
661 # a partition on an SDCard/USB stick. 656 # a partition on an SDCard/USB stick.
662 ${GPT} add -i 2 -S 1 "${OUTPUT_DIR}/${image_name}" 657 ${GPT} add -i 2 -S 1 "${OUTPUT_DIR}/${image_name}"
663 658
664 trap - EXIT 659 trap - EXIT
665 } 660 }
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 echo "Developer image created as ${DEVELOPER_IMAGE_NAME}" 749 echo "Developer image created as ${DEVELOPER_IMAGE_NAME}"
755 fi 750 fi
756 751
757 print_time_elapsed 752 print_time_elapsed
758 753
759 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:" 754 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:"
760 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX" 755 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX"
761 echo "To convert to VMWare image, INSIDE the chroot, do something like:" 756 echo "To convert to VMWare image, INSIDE the chroot, do something like:"
762 echo " ./image_to_vm.sh --from=${OUTSIDE_OUTPUT_DIR} --board=${BOARD}" 757 echo " ./image_to_vm.sh --from=${OUTSIDE_OUTPUT_DIR} --board=${BOARD}"
763 echo "from the scripts directory where you entered the chroot." 758 echo "from the scripts directory where you entered the chroot."
OLDNEW
« no previous file with comments | « build_gpt.sh ('k') | create_esp.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698