mountsd: Relax partition checks
Removed label requirement, cause too many trouble on user The 2nd SD Card partition will be mounted as sd-ext with ext3fs (there are some problem with ext4, we stay on 3 until 4 problem will be sorted) Change-Id: I87e53d1714d84fbdafeb80599ebb3e62b3a24b1e
This commit is contained in:
parent
dcfb1a0a16
commit
a843bbde3c
@ -1,6 +1,6 @@
|
||||
#!/system/bin/sh
|
||||
#
|
||||
# mount ext4 partition from sd card
|
||||
# mount ext partition from sd card
|
||||
|
||||
BB="logwrapper busybox";
|
||||
|
||||
@ -15,53 +15,41 @@ do
|
||||
MMC_TYPE=`cat /sys/block/mmcblk$MMC_NUM/device/type`
|
||||
if [ "$MMC_TYPE" = "SD" ];
|
||||
then
|
||||
SDCARD=/dev/block/mmcblk$MMC_NUM
|
||||
# 2nd partition of sdcard should be the sd-ext if exist
|
||||
SD_EXT_PART=/dev/block/mmcblk${MMC_NUM}p2
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -b "$SDCARD" ];
|
||||
if [ -b "$SD_EXT_PART" ];
|
||||
then
|
||||
# find sd-ext partition by label
|
||||
PARTITIONS=`cat /proc/partitions|grep mmcblk$MMC_NUM|grep -v "mmcblk$MMC_NUM$"|awk '{print $4}'`
|
||||
for PARTITION in $PARTITIONS
|
||||
do
|
||||
LABEL=`e2label /dev/block/$PARTITION`
|
||||
if [ "$LABEL" = "sd-ext" ];
|
||||
then
|
||||
SD_EXT_PART=/dev/block/$PARTITION
|
||||
break
|
||||
fi
|
||||
done
|
||||
log -p i -t mountsd "Checking filesystems..";
|
||||
|
||||
if [ -b "$SD_EXT_PART" ];
|
||||
# fsck the sdcard filesystem first
|
||||
if [ -x `which e2fsck` ];
|
||||
then
|
||||
log -p i -t mountsd "Checking filesystems..";
|
||||
|
||||
# fsck the sdcard filesystem first
|
||||
if [ -x `which e2fsck` ];
|
||||
e2fsck -y $SD_EXT_PART
|
||||
e2fsk_exitcode=$?
|
||||
else
|
||||
echo "executable e2fsck not found, assuming no filesystem errors"
|
||||
e2fsk_exitcode=0
|
||||
fi
|
||||
|
||||
# set property with exit code in case an error occurs
|
||||
setprop cm.e2fsck.errors $e2fsk_exitcode;
|
||||
if [ "$e2fsk_exitcode" -lt 2 ];
|
||||
then
|
||||
# mount and set perms
|
||||
$BB mount -o noatime,nodiratime,barrier=1 -t ext3 $SD_EXT_PART $SD_EXT_DIRECTORY;
|
||||
if [ "$?" = 0 ];
|
||||
then
|
||||
e2fsck -y $SD_EXT_PART;e2fsk_exitcode=$?
|
||||
$BB chown 1000:1000 $SD_EXT_DIRECTORY;
|
||||
$BB chmod 771 $SD_EXT_DIRECTORY;
|
||||
log -p i -t mountsd "$SD_EXT_DIRECTORY successfully mounted";
|
||||
else
|
||||
echo "executable e2fsck not found, assuming no filesystem errors"
|
||||
e2fsk_exitcode=0
|
||||
fi
|
||||
# set property with exit code in case an error occurs
|
||||
setprop cm.e2fsck.errors $e2fsk_exitcode;
|
||||
if [ "$e2fsk_exitcode" -lt 2 ];
|
||||
then
|
||||
# mount and set perms
|
||||
$BB mount -o noatime,barrier=1,data=ordered,noauto_da_alloc -t ext4 $SD_EXT_PART $SD_EXT_DIRECTORY;
|
||||
if [ "$?" = 0 ];
|
||||
then
|
||||
$BB chown 1000:1000 $SD_EXT_DIRECTORY;
|
||||
$BB chmod 771 $SD_EXT_DIRECTORY;
|
||||
log -p i -t mountsd "$SD_EXT_DIRECTORY successfully mounted";
|
||||
else
|
||||
log -p e -t mountsd "Unable to mount filesystem for $SD_EXT_DIRECTORY!";
|
||||
fi
|
||||
else
|
||||
log -p e -t mountsd "Unable to repair filesystem, disabling apps2sd";
|
||||
log -p e -t mountsd "Unable to mount filesystem for $SD_EXT_DIRECTORY!";
|
||||
fi
|
||||
else
|
||||
log -p e -t mountsd "Unable to repair filesystem, disabling apps2sd";
|
||||
fi
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user