Respostas:
Nota: a lista negra não funcionará para os módulos que estão embutidos na imagem do kernel (ou seja, não são carregados através de um
.ko
arquivo separado . A única maneira de desabilitar esses módulos é através de um parâmetro do kernel (se disponível) ou recompilando o kernel.
Basta abrir seu /etc/modprobe.d/blacklist
arquivo e adicionar drivername usando a seguinte sintaxe:
blacklist driver-name
EDIT: Nas versões posteriores desde 12.10 (12.04?), O arquivo é /etc/modprobe.d/blacklist.conf
Reinicie sua caixa e use o comando lsmod para mostrar o status dos módulos no Kernel do Linux
Nota : aqui driver-name
está o nome do seu driver de lista negra desejado. Por exemplo, se você deseja desabilitar o driver da placa NIC, pode encontrar o nome do driver do kernel da sua placa LAN usando o comando lspci -v
command em um terminal.
Por exemplo, minha saída foi:
........ ........ 6: 00.0 Controlador Ethernet: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02) Subsistema: Lenovo Device 3861 Sinalizadores: mestre de barramento, devsel rápido, latência 0, IRQ 46 Memória em b8000000 (64 bits, não pré-selecionável) [tamanho = 64K] ROM de expansão em [desativado] Recursos: Driver de kernel em uso: tg3 Módulos do kernel: tg3 ........ ........
Aqui, eu vejo o motorista é tg3
. então você precisa escrever tg3
(ou seu driver) no lugar de driver-name
.
Muitas informações podem ser encontradas aqui .
Lubuntu 12.10
), não há um /etc/modprobe.d/blacklist
arquivo. Há um /etc/modprobe.d/blacklist.conf
arquivo
blacklist.conf
arquivo não precisa existir. Você pode colocar um arquivo chamado my-mom-is-awesome
lá e funcionaria. Crie o nome que quiser, se desejar criar um arquivo específico apenas para colocar uma coisa na lista negra, como blacklist-nouveau
ou o que for.
Você também pode colocá-los na lista negra temporariamente na linha de comando do grub (linha linux) ao inicializar com a sintaxe
module_to_blacklist.blacklist=yes
i915: unknown parameter 'blacklist' ignored
.
modprobe.blacklist=module_to_blacklist
?
modprobe.blacklist=module_to_blacklist
(veja man modprobe
para mais detalhes)
Outra maneira de colocar módulos na lista negra em pelo menos o Ubuntu 16.04 LTS é adicionando a seguinte linha à linha de comando do kernel:
modprobe.blacklist=MODULE_NAME
Usar o sistema / etc / modprobe é a melhor maneira, mas essa é uma alternativa que pode ser usada rapidamente editando sua linha de comando do GRUB na inicialização.
Isso também pode ser permanente, editando / etc / default / grub e adicionando à GRUB_CMDLINE_LINUX_DEFAULT
variável. Por exemplo, no meu / etc / default / grub, tenho:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"
Então eu corro update-grub2
, então update-initramfs -u
. Após uma reinicialização, você estará livre do módulo, desde que nada o carregue após a inicialização.
Este método também funciona nas variantes EL (RHEL, CentOS, SciLinux), mas você precisará usar os métodos dessa distro para atualizar o grub e o initrd.
(Observe para aqueles que tentam colocar na lista negra o nouveau: certifique-se de não carregar o X executando systemctl set-default multi-user.target
, caso contrário, quando o X iniciar, ele carregará o nouveau novamente!)
Nas versões mais recentes, você precisa usar a diretiva de instalação no seu arquivo de lista negra
install modulename /bin/false
Substitua "nome do módulo" acima pelo nome do módulo. Isso impedirá forçosamente seu carregamento.
Você pode encontrar mais informações sobre a diretiva de instalação no manual do modprobe.conf
man modprobe.conf
/etc/modprobe/blacklist.conf
, o módulo ainda pode ser carregado manualmente modprobe <module_name>
. O uso do install <module_name> /bin/false
método faz com que isso falhe conforme desejado.
Nenhuma dessas soluções funcionou no 16.04 LTS para i915.ko.
A solução (suja) que encontrei foi renomear
/lib/modules/4.4.0-22-generic/kernel/drivers/gpu/drm/i915/i915.ko
/usr/lib/xorg/modules/drivers/modesetting_drv.so
/usr/lib/xorg/modules/drivers/intel_drv.so
Infelizmente, a tela VGA externa não é mais reconhecida: {
sudo update-initramfs -u
depois de modificar os arquivos /etc/modeprobe.d/ #