无法实现U盘热插拔

qyl_qiyalu 2016-12-05 02:31:07
在ARM板子上移植了Linux系统,在U盘插入时能够正常识别,会弹出U盘的相关信息,我想实现U盘的热插拔功能,即插入U盘时/dev/文件下自动新加入sda sda1文件。
内核版本为4.0.0,/etc/fstab文件内容为:


LABEL=/ / tmpfs defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
none /tmp tmpfs defaults 0 0


/etc/init.d/rcS文件内容为:

#!/bin/sh

echo "Starting rcS..."

echo "++ Mounting filesystem"
mount -t proc none /proc
mount -t sysfs none /sys
mount -t tmpfs none /tmp

echo "++ Setting up mdev"

echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

mkdir -p /dev/pts
mkdir -p /dev/i2c
mount -t devpts devpts /dev/pts


现在插入U盘时,能弹出U盘的相关信息,但不能自动创建sda sda1文件,手动执行mdev -s后,能够出现sda sda1文件。感觉像是插入优盘时没有自动调用hotplug,Linux 内核版本为4.0.0,menuconfig中找不到CONFIG_HOTPLUG=y这一项。

请问这应该怎么解决?谢谢


...全文
577 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qyl_qiyalu 2016-12-07
  • 打赏
  • 举报
回复
引用 6 楼 wenxy1 的回复:
/proc/sys/kernel/hotplug 这个文件没有吗? 如果没有,那么要重新配置kernel后再编译。
这个文件/proc/sys/kernel/hotplug有,/sbin/hotplug文件没有。 /proc/sys/kernel/hotplug文件中内容为:/sbin/mdev
qyl_qiyalu 2016-12-06
  • 打赏
  • 举报
回复
引用 2 楼 wenxy1 的回复:
mdev规则没配置对? rcS启动脚本,在运行mdev之前请加上: mount -t tmpfs mdev /dev mount -t sysfs sysfs /sys 参考:http://blog.chinaunix.net/uid-22028680-id-3216508.html
我把这些加上,还是不对。 我在/sbin/下找不到hotplug,我的内核版本为4.0.0,是不是这个版本不再支持hotplug? 哪位大侠知道?
Wenxy1 2016-12-06
  • 打赏
  • 举报
回复
/proc/sys/kernel/hotplug 这个文件没有吗? 如果没有,那么要重新配置kernel后再编译。
蛋蛋_rmvb 2016-12-06
  • 打赏
  • 举报
回复
建议直接使用buildroot省去多少构建系统的问题
uid123 2016-12-05
  • 打赏
  • 举报
回复
可以看看是不是有先解除别的进程占用?
Wenxy1 2016-12-05
  • 打赏
  • 举报
回复
mdev规则没配置对?
rcS启动脚本,在运行mdev之前请加上:
mount -t tmpfs mdev /dev
mount -t sysfs sysfs /sys

参考:http://blog.chinaunix.net/uid-22028680-id-3216508.html
qyl_qiyalu 2016-12-05
  • 打赏
  • 举报
回复
麻烦大家指点一下

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧