Chinaunix

标题: 求问:虚拟化下driver加载的问题 [打印本页]

作者: goingstudy    时间: 2017-11-11 17:21
标题: 求问:虚拟化下driver加载的问题
在一些比较新的Linux VM 里头,比如说CentOS7 或Ubuntu 16里,driver是怎么加载的?比如在vmware上网卡的driver, vmxnet3,

我没有找到有配置文件去做modprobe, 或者在/etc/modules, /etc/modprobe.d,总之在网上能搜的一些相关文件里我都看过了,没有去modprobe,

那他是怎么加载的呢?



作者: goingstudy    时间: 2017-11-13 20:39
ren gong zhi ding ....
da shen su du lai.....
作者: nswcfd    时间: 2017-11-15 17:27
驱动有别名吧,参考/proc/sys/kernel/modprobe的作用。
作者: mordorwww    时间: 2017-11-16 08:55
本帖最后由 mordorwww 于 2017-11-16 08:58 编辑

不是udev自动加载的么?
modprobe只是依赖关系确定而已。
再说了,和虚拟化有什么关系


作者: goingstudy    时间: 2017-11-16 21:04
回复 3# nswcfd

我知道驱动有别名,比如 vmxnet3,是挂在pci上的,alias就是pci:v000015add0000007b0sv*sd*bc*sc*i*,在系统启动时,系统检测硬件,发现没有vmxnet3 网卡的driver,就会通过modprobe去寻找和加载driver,一般是通过查询modules.alas,但是这个pci:v000015add0000007b0sv*sd*bc*sc*i* 是kernel传给modprobe的吗,要是没有这个就没法确定driver吧,还有这个 pci:v000015add0000007b0sv*sd*bc*sc*i*有什么工具或方法我们查询到吗?

作者: goingstudy    时间: 2017-11-16 21:05
回复 4# mordorwww

udev也是调用了modprobe或类似的命令吧
作者: goingstudy    时间: 2017-11-21 20:44
ding .....
作者: goingstudy    时间: 2017-11-22 09:55
明白了,vmxnet通过pci枚举设备去load driver,像hyperv有自己的一套vmbus,并且创建了acpi设备,那么storvsc,netvsc则是通过acpi enumerate device的,具体的细节则需要去了解pci 或acpi  的spec了
作者: nswcfd    时间: 2017-11-22 17:58
不好意思,是弄错了,还以为kerne会在枚举pci的过程中调用类似request_module的接口。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2