背景

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

分析

1、查看emmc的VCCQ上电时间,经过测量发现上电开机时就被单片机拉上电。

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

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

	驱动加载时间:03
	emmc_mount挂载时间:09 没有节点
	设备节点创建时间:13
	hotplug挂载时间: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

	[email protected]:~# 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;,设备时间节点正常创建和挂载。

总结

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

相关文章:

  • 2021-05-17
  • 2022-12-23
  • 2021-11-09
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
  • 2022-01-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-03-09
  • 2022-12-23
  • 2022-12-23
  • 2021-06-25
  • 2022-02-24
相关资源
相似解决方案