OSDN Git Service

2-mount: fix mount state bug and simplify the rules
[android-x86/bootable-newinstaller.git] / initrd / scripts / 2-mount
1 #
2 # By Chih-Wei Huang <cwhuang@linux.org.tw>
3 # Last updated 2009/08/13
4 #
5 # License: GNU Public License
6 # We explicitely grant the right to use the scripts
7 # with Android-x86 project.
8 #
9
10 mount_data()
11 {
12         mountpoint -q data && return
13         if [ -b "$DATA" ]; then
14                 mount $DATA data
15         elif [ -b "/dev/$DATA" ]; then
16                 mount /dev/$DATA data
17         elif [ -d /mnt/$SRC/data ]; then
18                 mount -o remount,rw /mnt
19                 mount --bind /mnt/$SRC/data data
20         else
21                 mount -t tmpfs tmpfs data
22         fi
23 }
24
25 mount_sdcard()
26 {
27         mountpoint -q sdcard && return
28         MOUNT_STATE=mounted
29         if [ -b "$SDCARD" ]; then
30                 mount $SDCARD sdcard
31         elif [ -b "/dev/$SDCARD" ]; then
32                 mount /dev/$SDCARD sdcard
33         elif [ "$SDCARD" = "premount" ]; then
34                 if [ -d /mnt/$SRC/sdcard ]; then
35                         mount -o remount,rw /mnt
36                         mount --bind /mnt/$SRC/sdcard sdcard
37                 elif [ -d data/sdcard ]; then
38                         mount --bind data/sdcard sdcard
39                 else
40                         mount -t tmpfs tmpfs sdcard
41                 fi
42         else
43                 MOUNT_STATE=unmounted
44         fi
45         sed -i "s|\(EXTERNAL_STORAGE_STATE \).*|\1$MOUNT_STATE|g" init.rc
46 }