emmc设备节点创建时间太迟原因

背景

emmc设备节点创建时间太晚导致启动挂载emmc脚本中判断设备节点不存在挂载失败,后面被hotplug的tf_mount挂载。

分析

1、查看emmc的VCCQ上电时间,经过测量发现上电开机时就被单片机拉上电,这里正常没有问题。

2、查看时间点信息(单位:秒):

	驱动加载时间:11:37:03
	emmc_mount挂载时间:11:37:09 [没有节点]
	设备节点创建时间:11:37:13
	hotplug挂载时间:11:37:13

3、查看hotplug挂载脚本

	/lib/mountd/tfmount.sh
		extern_mount(){挂载函数

	etc/hotplug.d/block/10-mount:140:	extern_mount() { return 1; }
	etc/hotplug.d/block/10-mount:142:	extern_mount "$mde_fstype" "$mde_device" "$mde_target" "$mde_options"
	hotplug.d
	
	hotplug2-common.rules
	hotplug2-init.rules
	hotplug2.rules

4、查看设备节点时间

	crw-r--r--    1 root     root      234,   0 Jan  1  1970 ubi2
	brw-r--r--    1 root     root      179,   1 Jan 22 11:37 mmcblk0p1
	brw-r--r--    1 root     root      179,   0 Jan 22 11:37 mmcblk0	【不应该在这儿】
	brw-r--r--    1 root     root      179,  32 Jan 22 11:37 mmcblk0rpmb

	Jan 22 11:37:03 www user.info kernel: mmcblk0: mmc1:0001 DG4008 7.28 GiB  eason
	Jan 22 11:37:03 www user.info kernel: mmcblk0rpmb: mmc1:0001 DG4008 partition2 3 4.00 MiB
	Jan 22 11:37:03 www user.info kernel:  mmcblk0: p1

	root@www:~# stat /dev/mmcblk0
	  File: /dev/mmcblk0
	  Size: 0         	Blocks: 0          IO Block: 4096   block special file
	Device: 10h/16d	Inode: 14685       Links: 1     Device type: b3,0
	Access: (0644/brw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
	Access: 2019-01-22 11:37:13.000000000
	Modify: 2019-01-22 11:37:13.000000000
	Change: 2019-01-22 11:37:13.000000000

5、查看hotplug没有发现异常,发现dts中有配置异常:

    &sdhc_1 {
        qcom,nonhotplug;

注释掉dts中sdhc_1中的qcom,nonhotplug;默认就会开启polling,polling会在驱动加载完成后1秒内完成设备节点的创建,否则需要等系统的hotplug机制在检测并创建。设备时间节点正常创建后挂载就正常了。

总结

dts中配置为不支持热拔插设备,导致设备节点创建延后出现问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值