OSDN Git Service

1136a9e0c335efdd985b27074ec7ebc0695d8783
[android-x86/system-extras.git] / ext4_utils / mkuserimg.sh
1 #!/bin/bash -x
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 [FILE_CONTEXTS]
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 -a $# -ne 6 ]; 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 FC=$6
36
37 case $EXT_VARIANT in
38   ext4) ;;
39   *) echo "Only ext4 is supported!"; exit 3 ;;
40 esac
41
42 if [ -z $MOUNT_POINT ]; then
43   echo "Mount point is required"
44   exit 2
45 fi
46
47 if [ -z $SIZE ]; then
48     SIZE=128M
49 fi
50
51 if [ -n "$FC" ]; then
52     FCOPT="-S $FC"
53 fi
54
55 MAKE_EXT4FS_CMD="make_ext4fs $ENABLE_SPARSE_IMAGE $FCOPT -l $SIZE -a $MOUNT_POINT $OUTPUT_FILE $SRC_DIR"
56 echo $MAKE_EXT4FS_CMD
57 $MAKE_EXT4FS_CMD
58 if [ $? -ne 0 ]; then
59   exit 4
60 fi