-
先确保linux层驱动没问题
该文章讲述的是Android6.0的实现,Android4.0可以参考 参考文章
Android系统中可使用uevents程序来捕捉linux内核提交的uevent事件,并打印内容信息;
uevents源码在android源码system/extras/tests/uevents中,可以通过:
mmm system/extras/tests/uevents编译该模块
make snod打包进system.img执行uevents命令后插入SD卡
add@/devices/platform/12530000.sdhci/mmc_host/mmc0/mmc0:b368 ACTION=add[ 2108.691716]
DEVPATH=/devices/platform/12530000.sdhci/mmc_host/mmc0/mmc0:b368 SUBSYSTEM=mmc MMC_TYPE=SD MMC_NAME=FFFFF MODALIAS=mmc:block SEQNUM=3468
add@/devices/virtual/bdi/179:64 ACTION=add DEVPATH=/devices/virtual/bdi/179:64 SUBSYSTEM=bdi SEQNUM=3469
add@/devices/platform/12530000.sdhci/mmc_host/mmc0/mmc0:b368/block/mmcblk0 ACTION=add DEVPATH=/devices/platform/12530000.sdhci/mmc_host/mmc0/mmc0:b368/block/mmcblk0 SUBSYSTEM=block MAJOR=179 MINOR=64 DEVNAME=mmcblk0 DEVTYPE=disk SEQNUM=3470
add@/devices/platform/12530000.sdhci/mmc_host/mmc0/mmc0:b368/block/mmcblk0/mmcblk0p1 ACTION=add DEVPATH=/devices/platform/12530000.sdhci/mmc_host/mmc0/mmc0:b368/block/mmcblk0/mmcblk0p1 SUBSYSTEM=block MAJOR=179 MINOR=65 DEVNAME=mmcblk0p1 DEVTYPE=partition PARTN=1 SEQNUM=3471
**注意:**其中DEVPATH=/devices/platform/12530000.sdhci/mmc_host/mmc0/mmc0:b368很重要,在第二部修改fstab.xxx文件文件的时候需要用到;
2. 修改fstab.xxx文件(如fstab.itop4412)
#fstab.xxx中添加内容
/devices/platform/12530000.sdhci/mmc_host/mmc0/* auto auto defaults voldmanaged=sdcard0:auto,noemulatedsd
- 错误解决记录
vold不断重启,logcat提示错误Failed to setexeccon
原因:这是由于selinux引起的错误,已经关闭了selinux功能,不知道为何还会出错;
解决:找到相应出错代码,去掉该部分的代码;该代码所在源文件:
system/vold/Utils.cpp