本來想搞個開機自動掛載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來生成,但是需要證據。
新路程 imx6 sd卡部分摘要
首先iomux mx6q.h裡 mx6 sabresd board init裡 if cpu is mx6q 然後看sd卡的資源,在board mx6q sabresd.c 裡 static const struct esdhc platform data mx6q sabresd sd2 data...
Udev實現U盤或SD卡的自動掛載
linux傳統上使用靜態裝置建立的方法,在dev下建立了大量的節點,而不管這些節點相應的硬體裝置是否存在。採用 udev的方法,系統檢測到裝置才會去建立這些裝置對應的節點。這裡我們簡單的說一下udev的工作原理 udev是依賴於sysfs的,當系統中新增乙個新的裝置後,核心檢測到後就會產生乙個hot...
U盤 SD卡掛載
說明 u盤和sd卡大部分操作上是一樣的,因此下面將用u盤進行說明,如無特別說明在u盤上的操作在sd卡上同樣有效 u盤和sd卡里的檔案系統比較常用的是fat32 這裡也是基於fat32來說明的 掛載 掛載前首先要保證u盤已經被系統識別到了。被識別到了後在 dev下會有節點顯示,需要注意的是u盤的節點和...