找回密码
 注册
关于网站域名变更的通知
查看: 441|回复: 1
打印 上一主题 下一主题

来看看linux的热插拔事件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-11-6 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
当用户向系统添加或删除设备时,内核会产生一个热插拔事件,并在/proc/sys/kernel/hotplug文件里查找处理设备连接的用户空间程序,这个用户空间程序主要有/sbin/hotplug与/sbin/mdev.
' v% A# Q  W  _3 S- c/ `5 Recho /sbin/hotplug > /proc/sys/kernel/hotplug 7 d6 b0 {9 f8 P, X! d; ^
或者 ( R6 {6 g7 X/ K2 Z; j3 ~
echo /sbin/mdev > /proc/sys/kernel/hotplug
6 n$ \3 [: w/ c6 G4 Z8 C/ Rmdev -s
, z2 G4 k4 m2 N6 v- H/ w4 k1 @; Y8 s

8 E. e7 g! ~# k' Photplug

! r5 i! `% i: X& W. B是一个bash脚本具有如下类似的代码:+ Q# a, u* j+ a- u4 Y9 V) `

4 U( g5 a3 P+ o" l* L
  • DIR="/etc/hotplug.d"
  • for I in "${DIR}/$1"*.hotplug "${DIR}/"default/*.hotplug ; do
  •     if [-f $I]; then
  •         test -x $I && $I $1;
  •     fi
  • done
  • exit 1" p7 |; ?5 i/ u# E% Y1 E( _. g
# k& k1 W& I2 k
+ U1 i0 a3 K5 {' Q
, ], m1 m% [9 `; k7 H
1) 当driver执行kobject_uevent会调用hotplughelper,从而调用这个/sbin/hotplug脚本。 9 V6 o' r/ B. D2 A0 s
2) 该脚本在/etc/hotplug.d目录搜索所有以hotplug为后缀的程序并调用,
. ?! Z# V: x$ m# e  D5 W3) 传递给被调用的程序的参数就是事件的名字, $ `6 ^# A' _$ ^4 M# r
4) 被调用的程序还可以读取大量的环境变量,包括ACTION、DEVPATH、SUBSYSTEM等。
  f' i, M0 l% ~* Q7 d. ?5) 被调用的程序根据这些环境变量在/lib/module/KERNEL_VERSION/modules.*map文件找到对应需要加载的模块并加载。 ; S+ `( Z/ s6 f: N4 @9 T& T) e- s
(*.map是当驱动程序使用MODULE_DEVICE_TABLE宏时,depmod程序使用这些信息并创建了/lib/module/KERNEL_VERSION/modules.*map文件。)# @% f7 l1 t9 i

* v+ Q1 ~8 E% j3 F% q
# i; x, ^7 a! K9 j  mudev/mdev/vold

+ R, u2 B: r: n, v
游客,如果您要查看本帖隐藏内容请回复

6 j9 m# e/ F5 T* f4 s$ _2 O
& v- `& v) J# X7 t  |: ]
% d* N2 {) N, ^) S
  • TA的每日心情

    2020-6-21 15:40
  • 签到天数: 44 天

    [LV.5]常住居民I

    2#
    发表于 2019-11-6 17:34 | 只看该作者
    学习学习学习
    ' D" v9 E4 H8 V, D' g' \
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-25 03:07 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表