Как остановить автоматическую инициализацию устройства Linux

Всякий раз, когда я подключаю запоминающее устройство USB к системе, я получаю подобные события от ядра. (как показано на мониторе 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 или какого-либо другого механизма?


person hotmultimedia    schedule 13.08.2014    source источник
comment
Мы можем это сделать, если вы хотите собрать собственное ядро? Если вам интересно, ответьте на этот комментарий, и я мог бы попробовать ответить.   -  person Vality    schedule 13.08.2014
comment
@Vality Конечно, пользовательское ядро ​​- это вариант.   -  person hotmultimedia    schedule 14.08.2014
comment
Я действительно понял, что в новых ядрах вы можете сделать это легко и без модификации ядра. Пожалуйста, смотрите ниже. Если у вас более старое ядро, вам может потребоваться исправить функции.   -  person Vality    schedule 14.08.2014


Ответы (1)


Я действительно вспомнил, что это намного проще, чем я помнил в новых ядрах, вам просто нужно запустить:

echo '0' > /sys/bus/usb/drivers_autoprobe

как root во время загрузки, это не позволит ядру проверять USB-устройства, когда они подключены, поэтому они будут перечислены только тогда, когда вы вручную решите сделать это, написав что-то в /sys/bus/usb/drivers_probe.

Это должно делать более или менее то, что вы хотите, ядро ​​​​не будет привязывать какие-либо драйверы к USB-устройствам, вы можете позже привязать их к своей виртуальной машине.

person Vality    schedule 14.08.2014