本文主要是介绍新路程------udev影响sd卡挂载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本来想搞个开机自动挂载sd卡,那在fstab里加了这么句话
/dev/mmcblk0p1 /mnt vfat defaults 0 0
奇怪的是看log报错了
[rcS]: /etc/init.d/S09mountall.sh
mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory
看看节点都有
mmc0: new ultra high speed SDR104 SDHC card at address 59b4
mmcblk0: mmc0:59b4 14.7 GiB
mmcblk0: p1
VFS: Mounted root (jffs2 filesystem) on device 31:2.
Freeing init memory: 144K
[rcS]: /etc/init.d/S00mkdir.sh
mkdir: can't create directory 'boot': File exists
mkdir: can't create directory 'dev': File exists
mkdir: can't create directory 'home': File exists
mkdir: can't create directory 'mnt': File exists
mkdir: can't create directory 'opt': File exists
mkdir: can't create directory 'proc': File exists
mkdir: can't create directory 'share': File exists
mkdir: can't create directory 'sys': File exists
mkdir: can't create directory 'tmp': File exists
[rcS]: /etc/init.d/S09mountall.sh
然后我把mount加到了后面,尝试以后发现只要加在
mkdir -p /dev/.udev
udevd --daemon
udevadm trigger
这个后面就mount成功了,
修改脚本,ls /dev下的文件,发现udev之前,dev目录下只有两个节点,只有udev运行以后才出现那堆节点
[rcS]: /etc/init.d/S12udev.sh
pts ttyS000
cannot open /dev/null
Not recognise ACTION:change
Not recognise ACTION:change
bus ram1 tty15 tty48
console ram10 tty16 tty49
cpu_dma_latency ram11 tty17 tty5
cuse ram12 tty18 tty50
fd ram13 tty19 tty51
full ram14 tty2 tty52
fuse ram15 tty20 tty53
gmac ram2 tty21 tty54
i2c-0 ram3 tty22 tty55
i2c-1 ram4 tty23 tty56
i2c-2 ram5 tty24 tty57
input ram6 tty25 tty58
kmsg ram7 tty26 tty59
mem ram8 tty27 tty6
mmcblk0 ram9 tty28 tty60
mmcblk0p1 random tty29 tty61
mtd0 romblock0 tty3 tty62
mtd0ro romblock1 tty30 tty63
出现了mmcblk了,所以后面挂载才成功了。
然后我有对照了sys/block目录下的文件,发现这个和udev没有关系
mmcblk0 mtdblock3 ram11 ram15 ram5 ram9 romblock3
mtdblock0 ram0 ram12 ram2 ram6 romblock0
mtdblock1 ram1 ram13 ram3 ram7 romblock1
mtdblock2 ram10 ram14 ram4 ram8 romblock2
但是这个只有设备,没有分区,所以不能以此挂载。驱动里生成的是sys下面的节点,看起来dev目录下的节点需要udev来生成,但是需要证据。
这篇关于新路程------udev影响sd卡挂载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!