summaryrefslogtreecommitdiff
path: root/squashfs_utils
diff options
context:
space:
mode:
authorMohamad Ayyash <mkayyash@google.com>2015-03-03 12:33:48 -0800
committerSimon Wilson <simonwilson@google.com>2015-06-16 13:20:23 -0700
commiteca016ebf90d625a331d94bfda03d61717deaf73 (patch)
treeb31646f781ea1bc2e06e40637104c785e6638f2b /squashfs_utils
parent17ba6f0d475126d0a89d5f276d0973bc87df6bc9 (diff)
downloadextras-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.mk17
-rwxr-xr-xsquashfs_utils/mksquashfsimage.sh61
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