OSDN Git Service

3f2d2d4465c06fa152eb45289c3efa623133c54e
[android-x86/system-extras.git] / ext4_utils / mkuserimg.sh
1 #!/bin/bash
2 #
3 # To call this script, make sure make_ext4fs is somewhere in PATH
4
5 function usage() {
6 cat<<EOT
7 Usage:
8 mkuserimg.sh [-s] SRC_DIR OUTPUT_FILE EXT_VARIANT MOUNT_POINT SIZE
9 EOT
10 }
11
12 echo "in mkuserimg.sh PATH=$PATH"
13
14 ENABLE_SPARSE_IMAGE=
15 if [ "$1" = "-s" ]; then
16   ENABLE_SPARSE_IMAGE="-s"
17   shift
18 fi
19
20 if [ $# -ne 4 -a $# -ne 5 ]; then
21   usage
22   exit 1
23 fi
24
25 SRC_DIR=$1
26 if [ ! -d $SRC_DIR ]; then
27   echo "Can not find directory $SRC_DIR!"
28   exit 2
29 fi
30
31 OUTPUT_FILE=$2
32 EXT_VARIANT=$3
33 MOUNT_POINT=$4
34 SIZE=$5
35
36 case $EXT_VARIANT in
37   ext4) ;;
38   *) echo "Only ext4 is supported!"; exit 3 ;;
39 esac
40
41 if [ -z $MOUNT_POINT ]; then
42   echo "Mount point is required"
43   exit 2
44 fi
45
46 if [ -z $SIZE ]; then
47     SIZE=128M
48 fi
49
50 MAKE_EXT4FS_CMD="make_ext4fs $ENABLE_SPARSE_IMAGE -l $SIZE -a $MOUNT_POINT $OUTPUT_FILE $SRC_DIR"
51 echo $MAKE_EXT4FS_CMD
52 $MAKE_EXT4FS_CMD
53 if [ $? -ne 0 ]; then
54   exit 4
55 fi