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

Unified Diff: src/scripts/build_image

Issue 2084001: Reduce the size of factory install shim. (Closed) Base URL: ssh://git@chromiumos-git/chromiumos
Patch Set: merge and cleanup Created 10 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/scripts/common.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/build_image
diff --git a/src/scripts/build_image b/src/scripts/build_image
index 334de6348e431bc17e311de28d990ef036cea218..272ed424d9e3a336746b727a3363b7ce550676eb 100755
--- a/src/scripts/build_image
+++ b/src/scripts/build_image
@@ -39,6 +39,9 @@ DEFINE_boolean statefuldev $FLAGS_TRUE \
"Install development packages on stateful partition rather than the rootfs"
DEFINE_string to "" \
"The target image file or device"
+DEFINE_boolean factory_install $FLAGS_FALSE \
+ "Build a smaller image to overlay the factory install shim on; this argument \
+is also required in image_to_usb."
DEFINE_string arm_extra_bootargs "" \
"Additional command line options to pass to the ARM kernel."
@@ -180,7 +183,12 @@ fi
# Create root file system disk image to fit on a 1GB memory stick.
# 1 GB in hard-drive-manufacturer-speak is 10^9, not 2^30. 950MB < 10^9 bytes.
-ROOT_SIZE_BYTES=$((1024 * 1024 * 720))
+if [[ $FLAGS_factory_install -eq ${FLAGS_TRUE} ]] ; then
+ ROOT_SIZE_BYTES=$((1024 * 1024 * 180))
+else
+ ROOT_SIZE_BYTES=$((1024 * 1024 * 720))
+fi
+
dd if=/dev/zero of="$ROOT_FS_IMG" bs=1 count=1 seek=$((ROOT_SIZE_BYTES - 1))
sudo losetup "$LOOP_DEV" "$ROOT_FS_IMG"
sudo mkfs.ext3 "$LOOP_DEV"
@@ -259,6 +267,12 @@ 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} ]] ; then
+ INSTALL_MASK="$INSTALL_MASK $FACTORY_INSTALL_MASK"
+fi
+
if [[ $FLAGS_jobs -ne -1 ]]; then
EMERGE_JOBS="--jobs=$FLAGS_jobs"
fi
@@ -349,8 +363,7 @@ EOF
# By default, dev mode should be activated for either development builds or
# test builds.
-if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ||\
- [[ $FLAGS_withtest -eq $FLAGS_TRUE ]]; then
+if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ; then
sudo touch "$ROOT_FS_DIR/root/.dev_mode"
# Re-run ldconfig to fix /etc/ldconfig.so.cache.
@@ -363,10 +376,13 @@ fi
--target="$ARCH" \
--board="$BOARD"
-# Check that the image has been correctly created.
-"${SCRIPTS_DIR}/test_image" \
- --root="$ROOT_FS_DIR" \
- --target="$ARCH"
+# Don't test the factory install shim.
+if [[ $FLAGS_factory_install -eq ${FLAGS_FALSE} ]] ; then
+ # Check that the image has been correctly created.
+ "${SCRIPTS_DIR}/test_image" \
+ --root="$ROOT_FS_DIR" \
+ --target="$ARCH"
+fi
# Clean up symlinks so they work on a running target rooted at "/".
# Here development packages are rooted at /usr/local. However, do not
« no previous file with comments | « no previous file | src/scripts/common.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698