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

Unified Diff: common.sh

Issue 5271010: Factored out the code to copy an image and modify it for test (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git@master
Patch Set: Minor changes Created 10 years, 1 month 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 | image_to_usb.sh » ('j') | mod_image_for_test.sh » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common.sh
diff --git a/common.sh b/common.sh
index b7d428dab5bcca65bb2f042eb2aa63acea944761..c3ca5998a5f307b0273a32d2e048a73c9a5e0b1f 100644
--- a/common.sh
+++ b/common.sh
@@ -14,6 +14,14 @@
# and dpkg-buildpackage
NUM_JOBS=`grep -c "^processor" /proc/cpuinfo`
+# True if we have the 'pv' utility - also set up COMMON_PV_CAT for convenience
+COMMON_PV_OK=1
+COMMON_PV_CAT=pv
+pv -V >/dev/null 2>&1 || COMMON_PV_OK=0
+if [ $COMMON_PV_OK -eq 0 ]; then
+ COMMON_PV_CAT=cat
+fi
+
# Store location of the calling script.
TOP_SCRIPT_DIR="${TOP_SCRIPT_DIR:-$(dirname $0)}"
@@ -106,7 +114,7 @@ DEFAULT_BUILD_ROOT=${CHROMEOS_BUILD_ROOT:-"$SRC_ROOT/build"}
# Set up a global ALL_BOARDS value
if [ -d $SRC_ROOT/overlays ]; then
ALL_BOARDS=$(cd $SRC_ROOT/overlays;ls -1d overlay-* 2>&-|sed 's,overlay-,,g')
-fi
+fi
# Strip CR
ALL_BOARDS=$(echo $ALL_BOARDS)
# Set a default BOARD
@@ -127,6 +135,12 @@ else
INSIDE_CHROOT=0
fi
+
+# Standard filenames
+CHROMEOS_IMAGE_NAME="chromiumos_image.bin"
+CHROMEOS_TEST_IMAGE_NAME="chromiumos_test_image.bin"
Nick Sanders 2010/12/02 00:01:48 Can you modify the output name based on test/facto
sjg 2010/12/02 00:28:52 I haven't added constants for these also at this s
+
+
# Directory locations inside the dev chroot
CHROOT_TRUNK_DIR="/home/$USER/trunk"
@@ -526,3 +540,44 @@ chroot_hacks_from_outside() {
sudo bash -c "echo root ALL=\(ALL\) ALL >> \"${chroot_dir}/etc/sudoers\""
fi
}
+
+# This function converts a chromiumos image into a test image, either
+# in place or by copying to a new test image filename first. It honors
+# the following flags (see mod_image_for_test.sh)
+#
+# --factory
+# --factory_install
+# --force_copy
+#
+# On entry, pass the directory containing the image, and the image filename
+# On exit, it echoes the pathname of the resulting test image
+#
+# Usage:
+# SRC_IMAGE=$(prepare_test_image "directory" "imagefile")
+prepare_test_image() {
+ # If we're asked to modify the image for test, then let's make a copy and
+ # modify that instead.
+ # Check for manufacturing image.
+ local args
+
+ if [ ${FLAGS_factory} -eq ${FLAGS_TRUE} ]; then
+ args="--factory"
+ fi
+
+ # Check for install shim.
+ if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
+ args="--factory_install"
+ fi
+
+ # Check for forcing copy of image
+ if [ ${FLAGS_force_copy} -eq ${FLAGS_TRUE} ]; then
+ args="${args} --force_copy"
+ fi
+
+ # Modify the image for test, creating a new test image
+ "${SCRIPTS_DIR}/mod_image_for_test.sh" --board=${FLAGS_board} \
+ --image="$1/$2" --noinplace ${args} >/dev/stderr
Nick Sanders 2010/12/02 00:07:51 Can you get this output on stdout? It doesn't seem
sjg 2010/12/02 00:28:52 Chris suggested making this a function which takes
+
+ # From now on we use the just-created test image
+ echo "$1/${CHROMEOS_TEST_IMAGE_NAME}"
+}
« no previous file with comments | « no previous file | image_to_usb.sh » ('j') | mod_image_for_test.sh » ('J')

Powered by Google App Engine
This is Rietveld 408576698