Home | History | Annotate | Download | only in f2fs_utils
      1 #!/bin/bash
      2 #
      3 # To call this script, make sure make_f2fs is somewhere in PATH
      4 
      5 function usage() {
      6 cat<<EOT
      7 Usage:
      8 ${0##*/} OUTPUT_FILE SIZE
      9          [-C FS_CONFIG] [-f SRC_DIR] [-D PRODUCT_OUT]
     10          [-s FILE_CONTEXTS] [-t MOUNT_POINT] [-T TIMESTAMP]
     11          [-L LABEL]
     12 EOT
     13 }
     14 
     15 echo "in mkf2fsuserimg.sh PATH=$PATH"
     16 
     17 MKFS_OPTS=""
     18 SLOAD_OPTS=""
     19 
     20 if [ $# -lt 2 ]; then
     21   usage
     22   exit 1
     23 fi
     24 
     25 OUTPUT_FILE=$1
     26 SIZE=$2
     27 shift; shift
     28 
     29 if [[ "$1" == "-C" ]]; then
     30   SLOAD_OPTS+=" -C $2"
     31   shift; shift
     32 fi
     33 if [[ "$1" == "-f" ]]; then
     34   SLOAD_OPTS+=" -f $2"
     35   shift; shift
     36 fi
     37 if [[ "$1" == "-D" ]]; then
     38   SLOAD_OPTS+=" -p $2"
     39   shift; shift
     40 fi
     41 if [[ "$1" == "-s" ]]; then
     42   SLOAD_OPTS+=" -s $2"
     43   shift; shift
     44 fi
     45 if [[ "$1" == "-t" ]]; then
     46   MOUNT_POINT=$2
     47   shift; shift
     48 fi
     49 
     50 if [ -z $MOUNT_POINT ]; then
     51   echo "Mount point is required"
     52   exit 2
     53 fi
     54 
     55 if [[ ${MOUNT_POINT:0:1} != "/" ]]; then
     56   MOUNT_POINT="/"$MOUNT_POINT
     57 fi
     58 
     59 SLOAD_OPTS+=" -t $MOUNT_POINT"
     60 
     61 if [[ "$1" == "-T" ]]; then
     62   SLOAD_OPTS+=" -T $2"
     63   shift; shift
     64 fi
     65 
     66 if [[ "$1" == "-L" ]]; then
     67   MKFS_OPTS+=" -l $2"
     68   shift; shift
     69 fi
     70 
     71 if [ -z $SIZE ]; then
     72   echo "Need size of filesystem"
     73   exit 2
     74 fi
     75 
     76 MAKE_F2FS_CMD="make_f2fs -S $SIZE -f -O encrypt -O quota -O verity $MKFS_OPTS $OUTPUT_FILE"
     77 echo $MAKE_F2FS_CMD
     78 $MAKE_F2FS_CMD
     79 if [ $? -ne 0 ]; then
     80   exit 4
     81 fi
     82 
     83 SLOAD_F2FS_CMD="sload_f2fs -S $SLOAD_OPTS $OUTPUT_FILE"
     84 echo $SLOAD_F2FS_CMD
     85 $SLOAD_F2FS_CMD
     86 if [ $? -ne 0 ]; then
     87   rm -f $OUTPUT_FILE
     88   exit 4
     89 fi
     90