if ($answer_counter == 1): ?>
endif; ?>
- O dispositivo está conectado e o software que gerencia o barramento de hardware para esse dispositivo recebe uma interrupção (ou outra notificação no nível do hardware) e o driver de barramento enumera os dispositivos conectados ou executa outras ações de hardware específicas do barramento para identificar o dispositivo.
- Solicitações de kernel para carregar um driver para o novo hardware chamando / sbin / modprobe com o identificador de barramento / dispositivo / etc do hardware.
- No espaço do usuário, o modprobe tenta encontrar um alias especificado pelo driver correspondente. (Veja
/lib/modules/$(uname -r)/modules.alias
para a lista completa). Estes terão uma aparência diferente com base na interface de hardware. Por exemplo, pci:v0000102Bd00002527sv*sd*bc*sc*i*
para um fornecedor de dispositivo PCI 102B, dispositivo 2527 e qualquer coisa para subvendor, etc, ou USB: usb:v2040p4982d*dc*dsc*dp*ic*isc*ip*
.
- depois que o driver de dispositivo é carregado (ou um novo dispositivo que já tinha um driver foi inicializado), o driver no kernel envia uma notificação do dispositivo carregado para
udev
no espaço do usuário.
-
udev
corresponde a notificação à sua lista de regras em /lib/udev/rules.d/
e /etc/udev/rules.d
. A partir daqui, o comportamento é extremamente especializado, baseado nas regras.
- No caso de um disco USB, o arquivo
80-udisks.rules
é provavelmente o melhor lugar para se trabalhar. Essas regras usarão recursos como blkid e outros auxiliares para analisar o tipo e o conteúdo de um disco, preenchendo todos os tipos de valores de configuração, incluindo coisas como ENV{UDISKS_PRESENTATION_HIDE}="1"
para ignorar um disco por algum motivo. Veja "man 7 udisks" para detalhes.
- O udisks-daemon observa os dispositivos que aparecem no banco de dados udev
- Várias ações são configuradas em udisks , e a política para permitir essas ações pode ser vista no arquivo de políticas
/usr/share/polkit-1/actions/org.freedesktop.udisks.policy
. (Quem pode montar, desmontar, etc.)
- Os serviços interessados em dispositivos ouvirão eventos do DBus em udisks e executarão ações quando virem determinadas condições. Por exemplo, o Nautilus do GNOME (via monitor de volume gvfs) solicitará a montagem automática de dispositivos (via udisks , que verificará sua política, mencionada acima).
- Uma vez que um sistema de arquivos foi montado, esses mesmos serviços de escuta terão mais ações. Por exemplo, o Nautilus perguntará se você deseja abrir F-Spot quando o diretório comum de armazenamento de fotos
DCIM
for encontrado em um sistema de arquivos.