Index: src/scripts/clean_loopback_devices |
diff --git a/src/scripts/clean_loopback_devices b/src/scripts/clean_loopback_devices |
new file mode 100755 |
index 0000000000000000000000000000000000000000..4fbb5549aa27c6307ec4b5f98a2efd196be9170c |
--- /dev/null |
+++ b/src/scripts/clean_loopback_devices |
@@ -0,0 +1,34 @@ |
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+# |
+# Force cleans loopback devices from within your chroot environment. This |
+# script is to help mitigate losing loopback devices on build_images |
+# failures. This script only affects mountpoints and loopback devices |
+# that were created within this chroot. |
+ |
+# Load common constants. This should be the first executable line. |
+# The path to common.sh should be relative to your script's location. |
+. "$(dirname "$0")/common.sh" |
+ |
+# Script must be run inside the chroot. |
+assert_inside_chroot |
+ |
+DEFINE_string output_root "$DEFAULT_BUILD_ROOT/images" \ |
+ "Directory in which to place image result directories (named by version)" |
+DEFINE_string board "$DEFAULT_BOARD" \ |
+ "The board to build an image for." |
+ |
+OUTPUT_DIR="${FLAGS_output_root}/${FLAGS_board}" |
+ |
+echo "This will unmount any directory under $OUTPUT_DIR:" |
+read -p "Are you sure (y/N)? " SURE |
+SURE="${SURE:0:1}" # Get just the first character |
+if [ "${SURE}" != "y" ] |
+then |
+ echo "Ok, better safe than sorry." |
+ exit 1 |
+fi |
+ |
+sudo umount "$OUTPUT_DIR"/*/* 2> /dev/null |
+sudo losetup -d /dev/loop* 2> /dev/null |