level 3
用户资料data和sdcard的挂载代码
mount_data()
{
mountpoint -q data && return
[ -n "$DATA" ] && blk=`basename $DATA` || blk=
if [ -b "/dev/$blk" ]; then
[ ! -e /dev/block/$blk ] && ln /dev/$blk /dev/block
mount /dev/block/$blk data
elif [ -d /mnt/$SRC/data ]; then
remount_rw
mount --bind /mnt/$SRC/data data
elif [ -f /mnt/$SRC/data.img ]; then
remount_rw
mount -o loop /mnt/$SRC/data.img data
else
device_mount_data || mount -t tmpfs tmpfs data
fi
}
#上面这段是data的挂载,不知道$DATA具体代表那个名字,搜索顺序是:
/dev/block/$blk
/mnt/$SRC/data 这个是检测你安装安卓的目录有没有data文件夹
/mnt/$SRC/data.img 检测安装目录有没有data.img镜像
如果上面都没有,就虚拟一个内存镜像,关机后消失
mount_sdcard()
{
mountpoint -q sdcard && return
if [ -n "$SDCARD" -a -e /mnt/$SRC$SDCARD ]; then
if [ ! -e /android$SDCARD ]; then
remount_rw
sddir=`dirname $SDCARD`
mkdir /android$sddir
mount --bind /mnt/$SRC$sddir /android$sddir
fi
elif [ "$SDCARD" = "premount" ]; then
# WARNING: premount the sdcard is deprecated since froyo-x86.
# It is left only for backward compatibility and may be removed
# in the future.
if [ -d /mnt/$SRC/sdcard ]; then
remount_rw
mount --bind /mnt/$SRC/sdcard mnt/sdcard
elif [ -d data/sdcard ]; then
mount --bind data/sdcard mnt/sdcard
else
mount -o mode=2777,uid=1000,gid=1015 -t tmpfs tmpfs mnt/sdcard
fi
fi
}
这是sdcard的挂载代码,默认会挂载到data/media/0这个目录下面。顺序貌似是这样:(还没搞明白)
/mnt/$SRC$SDCARD 这个应该是安装目录的一个代表内存卡的目录,但是不知道$SDCARD代表什么名字
sdcard、sddir、等我都试过了,不管用,都会挂载到data下面。
/mnt/$SRC$sddir
/mnt/$SRC/sdcard
如果上面的目录都没有,就会虚拟一个内存盘,当然也是重启丢失。
2014年10月19日 03点10分