| Index: build_image
|
| diff --git a/build_image b/build_image
|
| index 27df5957109e94348da8a1264401acd0b43815db..02c5cd7054b788c12f42add08bc24336bfc745a6 100755
|
| --- a/build_image
|
| +++ b/build_image
|
| @@ -95,13 +95,6 @@ if [ -z "${FLAGS_board}" ] ; then
|
| exit 1
|
| fi
|
|
|
| -if [ "$((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad))" -gt \
|
| - "${FLAGS_rootfs_partition_size}" ] ; then
|
| - error "rootfs ($((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad)) MiB) is \
|
| -bigger than partition (${FLAGS_rootfs_partition_size} MiB)."
|
| - exit 1
|
| -fi
|
| -
|
| # Verify user didn't specify incompatible flags for dev install shim
|
| if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ] &&
|
| [ ${FLAGS_dev_install} -eq ${FLAGS_TRUE} ] ; then
|
| @@ -110,14 +103,37 @@ both set to True. Please specify one or none."
|
| exit 1
|
| fi
|
|
|
| -# Disable --withdev flag when --dev_install is set to True. Otherwise, the
|
| -# dev image produced will be based on dev install shim, rather than a pristine
|
| -# image
|
| -if [ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ] &&
|
| +INSTALL_MASK=""
|
| +if [ ${FLAGS_installmask} -eq ${FLAGS_TRUE} ] ; then
|
| + INSTALL_MASK="${DEFAULT_INSTALL_MASK}"
|
| +fi
|
| +
|
| +# Reduce the size of factory install shim.
|
| +if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ] ||
|
| [ ${FLAGS_dev_install} -eq ${FLAGS_TRUE} ] ; then
|
| - info "Incompatible flags: --withdev and --dev_install cannot be both set to \
|
| -True. Reset --withdev to False."
|
| - FLAGS_withdev=${FLAGS_FALSE}
|
| + # Disable --withdev flag when --*_install is set to True. Otherwise, the
|
| + # dev image produced will be based on install shim, rather than a pristine
|
| + # image
|
| + if [ ${FLAGS_withdev} -eq ${FLAGS_TRUE} ]; then
|
| + info "Incompatible flags: --withdev and --dev_install or --factory_install \
|
| +cannot be both set to True. Reset --withdev to False."
|
| + FLAGS_withdev=${FLAGS_FALSE}
|
| + fi
|
| +
|
| + # TODO: Build a separated ebuild for the install shim to reduce size.
|
| + INSTALL_MASK="${INSTALL_MASK} ${FACTORY_INSTALL_MASK}"
|
| +
|
| + info "Fixing the rootfs size at 300 MiB for install shim"
|
| + FLAGS_rootfs_size=280
|
| + FLAGS_rootfs_partition_size=300
|
| + info "Fixing the statefulfs size at 140 MiB for install shim"
|
| + FLAGS_statefulfs_size=140
|
| +fi
|
| +
|
| +if [ "$((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad))" -gt \
|
| + "${FLAGS_rootfs_partition_size}" ] ; then
|
| + die "rootfs ($((FLAGS_rootfs_size + FLAGS_rootfs_hash_pad)) MiB) is \
|
| +bigger than partition (${FLAGS_rootfs_partition_size} MiB)."
|
| fi
|
|
|
| EMERGE_BOARD_CMD="emerge-${FLAGS_board}"
|
| @@ -143,11 +159,11 @@ PRISTINE_IMAGE_NAME=chromiumos_image.bin
|
| if [ "${FLAGS_withdev}" -eq "${FLAGS_TRUE}" ]; then
|
| PRISTINE_IMAGE_NAME=chromiumos_base_image.bin
|
| DEVELOPER_IMAGE_NAME=chromiumos_image.bin
|
| -fi
|
| -
|
| -# Rename pristine image for dev install shim
|
| -if [ "${FLAGS_dev_install}" -eq "${FLAGS_TRUE}" ]; then
|
| +elif [ "${FLAGS_dev_install}" -eq "${FLAGS_TRUE}" ]; then
|
| +# Rename pristine images for install shims
|
| PRISTINE_IMAGE_NAME=dev_install_shim.bin
|
| +elif [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ]; then
|
| + PRISTINE_IMAGE_NAME=factory_install_shim.bin
|
| fi
|
|
|
| PRISTINE_IMG="${OUTPUT_DIR}/${PRISTINE_IMAGE_NAME}"
|
| @@ -185,19 +201,7 @@ DEV_IMAGE_ROOT="${STATEFUL_FS_DIR}/dev_image"
|
| . "${BOARD_ROOT}/etc/make.conf.board_setup"
|
| LIBC_VERSION=${LIBC_VERSION:-"2.10.1-r1"}
|
|
|
| -INSTALL_MASK=""
|
| -if [[ ${FLAGS_installmask} -eq ${FLAGS_TRUE} ]] ; then
|
| - INSTALL_MASK="${DEFAULT_INSTALL_MASK}"
|
| -fi
|
| -
|
| -# Reduce the size of factory install shim.
|
| -# TODO: Build a separated ebuild for the factory install shim to reduce size.
|
| -if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ] ||
|
| - [ ${FLAGS_dev_install} -eq ${FLAGS_TRUE} ] ; then
|
| - INSTALL_MASK="${INSTALL_MASK} ${FACTORY_INSTALL_MASK}"
|
| -fi
|
| -
|
| -if [[ ${FLAGS_jobs} -ne -1 ]]; then
|
| +if [ ${FLAGS_jobs} -ne -1 ]; then
|
| EMERGE_JOBS="--jobs=${FLAGS_jobs}"
|
| fi
|
|
|
| @@ -655,20 +659,6 @@ if [[ $FLAGS_preserve -eq ${FLAGS_TRUE} ]] ; then
|
| fi
|
| fi
|
|
|
| -# Minimize rootfs size for factory installer
|
| -if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
|
| - info "Fixing the rootfs size at 300 MiB for the factory installer"
|
| - FLAGS_rootfs_size=300
|
| -fi
|
| -
|
| -# Minimize rootfs size and statefulfs size for dev install shim
|
| -if [ ${FLAGS_dev_install} -eq ${FLAGS_TRUE} ] ; then
|
| - info "Fixing the rootfs size at 300 MiB for dev install shim"
|
| - FLAGS_rootfs_size=300
|
| - info "Fixing the statefulfs size at 140 MiB for dev install shim"
|
| - FLAGS_statefulfs_size=140
|
| -fi
|
| -
|
| # Create the boot.desc file which stores the build-time configuration
|
| # information needed for making the image bootable after creation with
|
| # cros_make_image_bootable.
|
| @@ -681,7 +671,8 @@ else
|
| fi
|
|
|
| USE_DEV_KEYS=
|
| -if [ "${FLAGS_dev_install}" -eq "${FLAGS_TRUE}" ]; then
|
| +if [ "${FLAGS_dev_install}" -eq "${FLAGS_TRUE}" ] || \
|
| + [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ]; then
|
| USE_DEV_KEYS="--use_dev_keys"
|
| fi
|
|
|
| @@ -693,7 +684,8 @@ ${SCRIPTS_DIR}/bin/cros_make_image_bootable "${OUTPUT_DIR}" \
|
| # FIXME: only signing things for x86 right now.
|
| if [[ "${ARCH}" = "x86" ]]; then
|
| BOOT_FLAG=
|
| - if [ "${FLAGS_dev_install}" -eq "${FLAGS_TRUE}" ] ; then
|
| + if [ "${FLAGS_dev_install}" -eq "${FLAGS_TRUE}" ] ||
|
| + [ "${FLAGS_factory_install}" -eq "${FLAGS_TRUE}" ]; then
|
| BOOT_FLAG="-b 1" # BOOT_FLAG_DEVELOPER value defined in load_kernel_fw.h
|
| info "--dev_install set, pass BOOT_FLAG_DEVELOPER flag to load_kernel_test"
|
| fi
|
|
|