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 .koarquivo 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/blacklistarquivo 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-nameestá 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 -vcommand 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.
no meu caso ( Lubuntu 12.10), não há um /etc/modprobe.d/blacklistarquivo. Há um /etc/modprobe.d/blacklist.confarquivo
Abdull 29/03
1
É melhor manter os módulos na lista negra de um usuário em um arquivo separado, a fim de evitar conflitos durante a atualização (consulte este comentário em serverfault ).
Alexander Pozdneev
1
O blacklist.confarquivo não precisa existir. Você pode colocar um arquivo chamado my-mom-is-awesomelá e funcionaria. Crie o nome que quiser, se desejar criar um arquivo específico apenas para colocar uma coisa na lista negra, como blacklist-nouveauou o que for.
doug65536 9/09
@ doug65536 esta pergunta foi publicada há 7 anos, é claro que as coisas vão mudar. Basta criar uma nova pergunta com a versão do Ubuntu que você possui, para que as pessoas possam ajudá-lo
LnxSlck
@LnxSlck Eu estava abordando a confusão manifestada nos comentários anteriores. Eu não queria ajuda O que há com a obsessão de não postar em conteúdo antigo? Apenas deixe apodrecer? As pessoas ainda acham isso e outros terão as mesmas perguntas que eu respondi.
doug65536 03/10
28
Você também pode colocá-los na lista negra temporariamente na linha de comando do grub (linha linux) ao inicializar com a sintaxe
Quanto tempo isso é "temporário"? Até a próxima inicialização?
Seth
1
Seth, é temporário apenas para a inicialização única, se você editou durante a inicialização. Se você editar usando os scripts /etc/grub.d/ ou / etc / default / grub, será permanente.
Peter
1
Aparentemente, isso não funciona para i915: i915: unknown parameter 'blacklist' ignored.
Rafał Cieślak
5
Qual é a diferença entre this e modprobe.blacklist=module_to_blacklist?
Zaz
4
ou usar o parâmetro de kernel modprobe.blacklist=module_to_blacklist(veja man modprobepara mais detalhes)
Karl Richter
11
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_DEFAULTvariável. Por exemplo, no meu / etc / default / grub, tenho:
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!)
Isso é muito útil. Acontece que mesmo com uma entrada na lista negra /etc/modprobe/blacklist.conf, o módulo ainda pode ser carregado manualmente modprobe <module_name>. O uso do install <module_name> /bin/falsemétodo faz com que isso falhe conforme desejado.
RawwrBag 27/09
3
Nenhuma dessas soluções funcionou no 16.04 LTS para i915.ko.
Respostas:
Basta abrir seu
/etc/modprobe.d/blacklist
arquivo e adicionar drivername usando a seguinte sintaxe: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 comandolspci -v
command em um terminal.Por exemplo, minha saída foi:
Aqui, eu vejo o motorista é
tg3
. então você precisa escrevertg3
(ou seu driver) no lugar dedriver-name
.Muitas informações podem ser encontradas aqui .
fonte
Lubuntu 12.10
), não há um/etc/modprobe.d/blacklist
arquivo. Há um/etc/modprobe.d/blacklist.conf
arquivoblacklist.conf
arquivo não precisa existir. Você pode colocar um arquivo chamadomy-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, comoblacklist-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
fonte
i915: unknown parameter 'blacklist' ignored
.modprobe.blacklist=module_to_blacklist
?modprobe.blacklist=module_to_blacklist
(vejaman 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:
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:Então eu corro
update-grub2
, entãoupdate-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!)fonte
Nas versões mais recentes, você precisa usar a diretiva de instalação no seu arquivo de lista negra
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
fonte
/etc/modprobe/blacklist.conf
, o módulo ainda pode ser carregado manualmentemodprobe <module_name>
. O uso doinstall <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
Infelizmente, a tela VGA externa não é mais reconhecida: {
fonte
sudo update-initramfs -u
depois de modificar os arquivos /etc/modeprobe.d/ #