如何让名为/dev/mmcblk0的设备在文件系统中显示为文件?

问题描述 投票:0回答:2


我正在尝试使现有的

SD/MMC
卡驱动程序适应我们的 SD 控制器硬件。
我正在使用
Synopsys' dw_mmc
代码(在
linux3.3
中)作为参考。我还有很长的路要走,但至少它编译好了,平台设备和平台驱动程序似乎已经注册了。
我的问题是如何让
/dev/mmcblk0
文件出现在系统中?我将我们的新设备命名为
ald_sd
,我可以在
ald_sd.0
下看到
/sys/devices/platform
。在
/dev
下,我尝试了
'mknod mmcblk0 179 0'
,我在
mmcblk0
下看到了
/dev
。然后我尝试了
'mount /dev/mmcblk0 /mnt/sd'
(在制作
/mnt/sd
之后),它给了我消息
'mount: mounting /dev/mmcblk0 on /mnt/sd failed: No such device or address'

请帮忙。谢谢!

linux mount sd-card
2个回答
2
投票

你的命令绝对正确。只是您忘记指定它是字符设备

c
还是块设备
b
。而是像这样添加 b
mknod mmcblk0 b 179 0
。这是我最近看到的一个常见错误。


0
投票

我解决这个问题已经好几个月了。长话短说,当内核读取SD卡的超级块时,块访问就可以了。通常我们使用 mknod 命令创建 /dev/sd0。(不是 mmcblock0)。 (mmcblock0 文件是在不同的地方制作的,也许是/sys..我不记得了)。另请注意,您可能会错误输入 mknod,例如 mkdir 或 mkdev,然后您也会收到“没有此类设备或地址”消息。仅供您参考。

© www.soinside.com 2019 - 2024. All rights reserved.