updated 05mountsd script:
check for mmc device type = SD mount sd-ext partition by label = sd-ext we are smart, so only ext4 support removed wait for device Change-Id: Ie1ee2de3365d5515030d46801099418607e1265e
This commit is contained in:
parent
7b55c083ab
commit
8ba581ead2
1 changed files with 25 additions and 17 deletions
42
prebuilt/common/etc/init.d/05mountsd
Executable file → Normal file
42
prebuilt/common/etc/init.d/05mountsd
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/system/bin/sh
|
#!/system/bin/sh
|
||||||
#
|
#
|
||||||
# mount ext[234] partition from sd card
|
# mount ext4 partition from sd card
|
||||||
|
|
||||||
BB="logwrapper busybox";
|
BB="logwrapper busybox";
|
||||||
|
|
||||||
|
@ -9,30 +9,39 @@ then
|
||||||
SD_EXT_DIRECTORY=/sd-ext;
|
SD_EXT_DIRECTORY=/sd-ext;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
# find first linux partition on SD card
|
# find SD Card
|
||||||
MMC=/dev/block/mmcblk0
|
for MMC_NUM in `seq 0 9`;
|
||||||
|
|
||||||
# wait for the device to settle
|
|
||||||
COUNT=6;
|
|
||||||
until [ -b "$MMC" ] || [ $COUNT -lt 1 ];
|
|
||||||
do
|
do
|
||||||
sleep 1;
|
MMC_TYPE=`cat /sys/block/mmcblk$MMC_NUM/device/type`
|
||||||
COUNT=$((COUNT-1));
|
if [ "$MMC_TYPE" = "SD" ];
|
||||||
done;
|
then
|
||||||
|
SDCARD=/dev/block/mmcblk$MMC_NUM
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
if [ -b "$MMC" ];
|
if [ -b "$SDCARD" ];
|
||||||
then
|
then
|
||||||
FDISK="busybox fdisk"
|
# find sd-ext partition by label
|
||||||
PARTITION=`$FDISK -l $MMC | awk '/^\// && $5 == 83 {print $1;exit;}'`
|
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
|
||||||
|
|
||||||
if [ -b "$PARTITION" ];
|
if [ -b "$SD_EXT_PART" ];
|
||||||
then
|
then
|
||||||
log -p i -t mountsd "Checking filesystems..";
|
log -p i -t mountsd "Checking filesystems..";
|
||||||
|
|
||||||
# fsck the sdcard filesystem first
|
# fsck the sdcard filesystem first
|
||||||
if [ -x `which e2fsck` ];
|
if [ -x `which e2fsck` ];
|
||||||
then
|
then
|
||||||
e2fsck -y $PARTITION;e2fsk_exitcode=$?
|
e2fsck -y $SD_EXT_PART;e2fsk_exitcode=$?
|
||||||
else
|
else
|
||||||
echo "executable e2fsck not found, assuming no filesystem errors"
|
echo "executable e2fsck not found, assuming no filesystem errors"
|
||||||
e2fsk_exitcode=0
|
e2fsk_exitcode=0
|
||||||
|
@ -41,9 +50,8 @@ then
|
||||||
setprop cm.e2fsck.errors $e2fsk_exitcode;
|
setprop cm.e2fsck.errors $e2fsk_exitcode;
|
||||||
if [ "$e2fsk_exitcode" -lt 2 ];
|
if [ "$e2fsk_exitcode" -lt 2 ];
|
||||||
then
|
then
|
||||||
|
|
||||||
# mount and set perms
|
# mount and set perms
|
||||||
$BB mount -o noatime,nodiratime -t auto $PARTITION $SD_EXT_DIRECTORY;
|
$BB mount -o noatime,barrier=1,data=ordered,noauto_da_alloc -t ext4 $SD_EXT_PART $SD_EXT_DIRECTORY;
|
||||||
if [ "$?" = 0 ];
|
if [ "$?" = 0 ];
|
||||||
then
|
then
|
||||||
$BB chown 1000:1000 $SD_EXT_DIRECTORY;
|
$BB chown 1000:1000 $SD_EXT_DIRECTORY;
|
||||||
|
|
Loading…
Reference in a new issue