Qual é a maneira correta de iniciar um driver na inicialização?

2

Eu consegui (história completa aqui ) ao instalar uma placa ethernet que, de acordo com os documentos, deve ser iniciada manualmente :

# modprobe e1000bp

Eu gostaria que a inicialização desse driver fosse realizada no tempo de inicialização .

Qual é o método adequado para conseguir isso?

Eu pensei em adicionar o comando a /etc/rc.local , mas para conexões PPTP ou OpenVPN existem outros métodos que deveriam ser mais limpos, então eu queria saber se o mesmo poderia ser dito para a inicialização dos drivers.

    
por Sopalajo de Arrierez 01.01.2016 / 03:39

2 respostas

5

No Debian e derivados (Ubuntu, Mint, elementar,…), módulos listados em /etc/modules (um por linha, e você pode especificar argumentos) são carregados no momento da inicialização.

Em sistemas baseados em systemd, módulos listados em /etc/modules-load.d/*.conf ( um por linha) são carregados no momento da inicialização.

No entanto, você normalmente não precisa carregar um módulo explicitamente. Para a maioria dos hardwares, o Linux detectará automaticamente o hardware e carregará o módulo apropriado. O Linux encontra o módulo certo por meio de um banco de dados armazenado em /lib/modules/VERSION/modules.alias , que é preenchido a partir de declarações no código-fonte do módulo. Esta resposta explica a processo completo.

Coloque o arquivo .ko que você compilou em algum lugar em /lib/modules/VERSION/ (você precisa fazer isso para obter modprobe para encontrá-lo) e execute depmod -a como root. Isso atualizará o banco de dados modules.aliases . Depois disso, o módulo será carregado automaticamente durante a inicialização, quando o kernel detectar o hardware (ou melhor, quando o processo de carregamento do módulo for iniciado, já que o hardware é detectado antecipadamente durante o tempo de inicialização).

Se o seu hardware também é suportado por um módulo fornecido pela sua distribuição, mas o driver da distribuição é problemático, então não acho que haja uma maneira fácil de forçar um dos módulos a ser usado. Neste caso, você deve adicionar o módulo que você compilou para /etc/modules e colocar o módulo padrão na lista negra adicionando uma linha blacklist MODULE_NAME a /etc/modprobe.conf .

    
por 02.01.2016 / 02:24
1

Eu colocaria o driver no arquivo /etc/modules (Debian, Ubuntu, Mint, etc.) ou /etc/modules.conf (Fedora, RHEL, CentOS, Arch Linux, etc.).

    
por 01.01.2016 / 05:09