每当我将USB大容量存储设备插入到系统中时,就会从内核获得类似的uevents。(如udevadm监视器所示)
KERNEL[104397.739313] add /devices/pci0000:00/0000:00:14.0/usb3/3-6 (usb)
KERNEL[104397.740141] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0 (usb)
KERNEL[104397.740787] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48 (scsi)
KERNEL[104397.741362] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/scsi_host/host48 (scsi_host)
KERNEL[104399.210661] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0 (scsi)
KERNEL[104399.211095] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0/48:0:0:0 (scsi)
KERNEL[104399.211502] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0/48:0:0:0/scsi_disk/48:0:0:0 (scsi_disk)
KERNEL[104399.211757] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0/48:0:0:0/scsi_device/48:0:0:0 (scsi_device)
KERNEL[104399.212464] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0/48:0:0:0/scsi_generic/sg1 (scsi_generic)
KERNEL[104399.212743] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0/48:0:0:0/bsg/48:0:0:0 (bsg)
KERNEL[104399.215444] add /devices/virtual/bdi/8:16 (bdi)
KERNEL[104399.220099] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0/48:0:0:0/block/sdb (block)
KERNEL[104399.220181] add /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/host48/target48:0:0/48:0:0:0/block/sdb/sdb1 (block)
我需要尽快将USB设备附加到KVM上,虽然udev规则允许我调用执行附加的脚本,但是内核处理仍然是自动进行的。我想防止这种情况发生。udev或其他机制能做到这一点吗?
发布于 2014-08-14 10:06:14
实际上,我记得这比我在新内核中所记得的要简单得多,您只需运行:
echo '0' > /sys/bus/usb/drivers_autoprobe
作为启动时的根用户,这将防止内核在连接USB设备时探测它们,因此只有当您手动选择通过向/sys/bus/usb/drivers_probe
写入一些东西时才会枚举它们。
这样可以或多或少地满足您的需要,内核不会将任何驱动程序绑定到USB设备上,您可以在稍后将它们绑定到VM上。
https://stackoverflow.com/questions/25290413
复制相似问题