diff options
author | Mohamad Ayyash <mkayyash@google.com> | 2015-03-03 12:33:48 -0800 |
---|---|---|
committer | Simon Wilson <simonwilson@google.com> | 2015-06-16 13:20:23 -0700 |
commit | eca016ebf90d625a331d94bfda03d61717deaf73 (patch) | |
tree | b31646f781ea1bc2e06e40637104c785e6638f2b /squashfs_utils | |
parent | 17ba6f0d475126d0a89d5f276d0973bc87df6bc9 (diff) | |
download | extras-eca016ebf90d625a331d94bfda03d61717deaf73.tar.gz |
Introduce mksquashfsimage.sh
Change-Id: I2b916ef3ef60b40f506e1f1be59482f7b071cdb2
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
Diffstat (limited to 'squashfs_utils')
-rw-r--r-- | squashfs_utils/Android.mk | 17 | ||||
-rwxr-xr-x | squashfs_utils/mksquashfsimage.sh | 61 |
2 files changed, 78 insertions, 0 deletions
diff --git a/squashfs_utils/Android.mk b/squashfs_utils/Android.mk new file mode 100644 index 00000000..7808ec0d --- /dev/null +++ b/squashfs_utils/Android.mk @@ -0,0 +1,17 @@ +# Copyright 2015 The Android Open Source Project + +LOCAL_PATH:= $(call my-dir) + +ifeq ($(HOST_OS),linux) + +include $(CLEAR_VARS) +LOCAL_MODULE := mksquashfsimage.sh +LOCAL_SRC_FILES := mksquashfsimage.sh +LOCAL_MODULE_CLASS := EXECUTABLES +# We don't need any additional suffix. +LOCAL_MODULE_SUFFIX := +LOCAL_BUILT_MODULE_STEM := $(notdir $(LOCAL_SRC_FILES)) +LOCAL_IS_HOST_MODULE := true +include $(BUILD_PREBUILT) + +endif diff --git a/squashfs_utils/mksquashfsimage.sh b/squashfs_utils/mksquashfsimage.sh new file mode 100755 index 00000000..7f96cb1f --- /dev/null +++ b/squashfs_utils/mksquashfsimage.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# To call this script, make sure mksquashfs is somewhere in PATH + +function usage() { +cat<<EOT +Usage: +${0##*/} SRC_DIR OUTPUT_FILE [-m MOUNT_POINT] [-c FILE_CONTEXTS] [-b BLOCK_SIZE] +EOT +} + +echo "in mksquashfsimage.sh PATH=$PATH" + +if [ $# -lt 2 ]; then + usage + exit 1 +fi + +SRC_DIR=$1 +if [ ! -d $SRC_DIR ]; then + echo "Can not find directory $SRC_DIR!" + exit 2 +fi +OUTPUT_FILE=$2 +shift; shift + +MOUNT_POINT= +if [[ "$1" == "-m" ]]; then + MOUNT_POINT=$2 + shift; shift +fi + +FILE_CONTEXTS= +if [[ "$1" == "-c" ]]; then + FILE_CONTEXTS=$2 + shift; shift +fi + +BLOCK_SIZE=131072 +if [[ "$1" == "-b" ]]; then + BLOCK_SIZE=$2 + shift; shift +fi + +OPT="" +if [ -n "$MOUNT_POINT" ]; then + OPT="$OPT -mount-point $MOUNT_POINT" +fi +if [ -n "$FILE_CONTEXTS" ]; then + OPT="$OPT -context-file $FILE_CONTEXTS" +fi +if [ -n "$BLOCK_SIZE" ]; then + OPT="$OPT -b $BLOCK_SIZE" +fi + +MAKE_SQUASHFS_CMD="mksquashfs $SRC_DIR $OUTPUT_FILE -no-progress -comp lz4 -Xhc -no-exports -noappend -no-recovery -android-fs-config $OPT" +echo $MAKE_SQUASHFS_CMD +$MAKE_SQUASHFS_CMD +if [ $? -ne 0 ]; then + exit 4 +fi |