Como bloquear drivers embutidos no Kernel, ou seja, drivers que não são um módulo

6

Eu configurei e compilei o kernel do Linux com o kernel interno do driver nouveau , ou seja, com <*> em oposição a <M> ao fazer make menuconfig dentro do diretório de origem do kernel do Linux.

Agora, pretendo usar outro driver em vez de nouveau . Se nouveau fosse um módulo, eu adicionaria uma linha como blacklist nouveau dentro de /etc/modprobe.d/blacklist.conf

O que devo fazer agora?

    
por user3405291 14.04.2016 / 11:17

2 respostas

5

Você também pode colocá-los na lista negra temporariamente na linha de comando do grub (linux line) quando você inicializa com a sintaxe

module_to_blacklist.blacklist=yes

OR

modprobe.blacklist=module_to_blacklist

Você precisa modificar o grub, cfg para tornar as alterações permanentes.

Veja que esta solução não funcionará em alguns módulos

    
por 14.04.2016 / 11:20
1

Muitas pessoas não sabem disso, mas existe uma maneira de colocar um driver embutido no kernel na lista negra.

Primeiramente, você deve executar lsmod | grep <driver_name> . Se você não vê nenhum resultado, parabéns - o seu driver é construído diretamente no kernel e o modo normal de colocar a lista negra em branco não vai funcionar. Em vez disso, você precisará colocar na lista negra a função de inicialização do seu driver. Para fazer isso, você precisará adicionar initcall_blacklist=<driver_init> como uma opção de inicialização do kernel onde driver_init é a função de inicialização do driver - você terá que olhar através das fontes do seu kernel para descobrir qual nome precisa ser usado. Como um exemplo concreto, initcall_blacklist=vmd_drv_init usado como uma opção de inicialização impede que o driver de dispositivo de gerenciamento de volume da Intel carregue e ligue a um controlador de dispositivo de gerenciamento de volume ativo.

    
por 10.10.2018 / 16:30