diff --git a/Android.bp b/Android.bp
index a622074..1c56d0c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -183,3 +183,18 @@
         },
     },
 }
+
+sh_binary_host {
+    name: "mkerofsimage.sh",
+    src: "mkerofsimage.sh",
+    required: [
+        "img2simg",
+        "mkfs.erofs",
+    ],
+
+    target: {
+        darwin: {
+            enabled: false,
+        },
+    },
+}
diff --git a/mkerofsimage.sh b/mkerofsimage.sh
new file mode 100755
index 0000000..c449352
--- /dev/null
+++ b/mkerofsimage.sh
@@ -0,0 +1,146 @@
+#!/bin/bash
+#
+# To call this script, make sure mkfs.erofs is somewhere in PATH
+
+function usage() {
+cat<<EOT
+Usage:
+${0##*/} SRC_DIR OUTPUT_FILE [-s] [-m MOUNT_POINT] [-d PRODUCT_OUT] [-C FS_CONFIG ] [-c FILE_CONTEXTS] [-z COMPRESSOR] [-T TIMESTAMP] [-U UUID] [-B BLOCK_MAP] [-P PCLUSTER_SIZE] [-k CHUNK_SIZE]
+EOT
+}
+
+echo "in mkerofsimage.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
+
+SPARSE=false
+if [[ "$1" == "-s" ]]; then
+    SPARSE=true
+    shift;
+fi
+
+MOUNT_POINT=
+if [[ "$1" == "-m" ]]; then
+    MOUNT_POINT=$2
+    shift; shift
+fi
+
+PRODUCT_OUT=
+if [[ "$1" == "-d" ]]; then
+    PRODUCT_OUT=$2
+    shift; shift
+fi
+
+FS_CONFIG=
+if [[ "$1" == "-C" ]]; then
+    FS_CONFIG=$2
+    shift; shift
+fi
+
+FILE_CONTEXTS=
+if [[ "$1" == "-c" ]]; then
+    FILE_CONTEXTS=$2
+    shift; shift
+fi
+
+COMPRESSOR="lz4hc"
+if [[ "$1" == "-z" ]]; then
+    COMPRESSOR=$2
+    shift; shift
+fi
+
+if [[ "$COMPRESSOR" == "none" ]]; then
+    COMPRESS_ARGS=
+else
+    COMPRESS_ARGS="-z ${COMPRESSOR}"
+fi
+
+TIMESTAMP=
+if [[ "$1" == "-T" ]]; then
+    TIMESTAMP=$2
+    shift; shift
+fi
+
+UUID=
+if [[ "$1" == "-U" ]]; then
+    UUID=$2
+    shift; shift
+fi
+
+BLOCK_MAP=
+if [[ "$1" == "-B" ]]; then
+    BLOCK_MAP=$2
+    shift; shift;
+fi
+
+PCLUSTER_SIZE=
+if [[ "$1" == "-P" ]]; then
+    PCLUSTER_SIZE=$2
+    shift; shift;
+fi
+
+CHUNK_SIZE=
+if [[ "$1" == "-k" ]]; then
+    CHUNK_SIZE=$2
+    shift; shift;
+fi
+
+OPT=""
+if [ -n "$MOUNT_POINT" ]; then
+  OPT="$OPT --mount-point $MOUNT_POINT"
+fi
+if [ -n "$PRODUCT_OUT" ]; then
+  OPT="$OPT --product-out $PRODUCT_OUT"
+fi
+if [ -n "$FS_CONFIG" ]; then
+  OPT="$OPT --fs-config-file $FS_CONFIG"
+fi
+if [ -n "$FILE_CONTEXTS" ]; then
+  OPT="$OPT --file-contexts $FILE_CONTEXTS"
+fi
+if [ -n "$TIMESTAMP" ]; then
+  OPT="$OPT -T $TIMESTAMP"
+fi
+if [ -n "$UUID" ]; then
+  OPT="$OPT -U $UUID"
+fi
+if [ -n "$BLOCK_MAP" ]; then
+  OPT="$OPT --block-list-file=$BLOCK_MAP"
+fi
+if [ -n "$PCLUSTER_SIZE" ]; then
+  OPT="$OPT -C${PCLUSTER_SIZE}"
+fi
+if [ -n "$CHUNK_SIZE" ]; then
+  OPT="$OPT --chunksize=$CHUNK_SIZE"
+fi
+
+MAKE_EROFS_CMD="mkfs.erofs $COMPRESS_ARGS $OPT $OUTPUT_FILE $SRC_DIR"
+echo $MAKE_EROFS_CMD
+$MAKE_EROFS_CMD
+
+if [ $? -ne 0 ]; then
+    exit 4
+fi
+
+fsck.erofs --extract $OUTPUT_FILE
+
+SPARSE_SUFFIX=".sparse"
+if [ "$SPARSE" = true ]; then
+    img2simg $OUTPUT_FILE $OUTPUT_FILE$SPARSE_SUFFIX
+    if [ $? -ne 0 ]; then
+        exit 4
+    fi
+    mv $OUTPUT_FILE$SPARSE_SUFFIX $OUTPUT_FILE
+fi
+
