| # -*- coding: utf-8 -*- |
| # Copyright (c) 2013 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. |
| |
| """Module containing helper methods for mounting and unmounting an image.""" |
| |
| import os |
| |
| import constants |
| from chromite.lib import cros_build_lib |
| |
| def MountImage(image_path, root_dir, stateful_dir, read_only, safe=False): |
| """Mounts a Chromium OS image onto mount dir points.""" |
| from_dir, image = os.path.split(image_path) |
| cmd = ['./mount_gpt_image.sh', |
| '--from=%s' % from_dir, |
| '--image=%s' % image, |
| '--rootfs_mountpt=%s' % root_dir, |
| '--stateful_mountpt=%s' % stateful_dir] |
| if read_only: cmd.append('--read_only') |
| if safe: cmd.append('--safe') |
| cros_build_lib.RunCommand( |
| cmd, print_cmd=False, cwd=constants.CROSUTILS_DIR, capture_output=True) |
| |
| |
| def UnmountImage(root_dir, stateful_dir): |
| """Unmounts a Chromium OS image specified by mount dir points.""" |
| cmd = ['./mount_gpt_image.sh', '--unmount', '--rootfs_mountpt=%s' % root_dir, |
| '--stateful_mountpt=%s' % stateful_dir] |
| cros_build_lib.RunCommand( |
| cmd, print_cmd=False, cwd=constants.CROSUTILS_DIR, capture_output=True) |