Sob certas condições, o kernel do Linux pode ficar contaminado . Por exemplo, carregar um driver de vídeo proprietário no kernel prejudica o kernel. Essa condição pode estar visível nos logs do sistema, nas mensagens de erro do kernel (oops e panics) e por meio de ferramentas como lsmod
e permanece até a reinicialização do sistema.
O que isto significa? Isso afeta minha capacidade de usar o sistema e como isso afeta minhas opções de suporte?
lsmod
,. Escrevi esta pergunta e respondi para torná-la mais geral, para que alguém perguntando "o que significa 'contaminado'" possa encontrá-la facilmente.Respostas:
Quando o kernel está contaminado, significa que ele está em um estado que não é suportado pela comunidade . A maioria dos desenvolvedores de kernel ignora os relatórios de erros que envolvem kernels contaminados, e os membros da comunidade podem solicitar que você corrija a condição de contaminação antes de prosseguir com o diagnóstico de problemas relacionados ao kernel. Além disso, algumas funcionalidades de depuração e chamadas de API podem ser desativadas quando o kernel está contaminado.
Na maioria dos casos, envolvendo drivers proprietários, você pode ignorar com segurança a condição de contaminação , mas alguns cenários que causam a contaminação do kernel podem ser indicativos de sérios problemas no sistema.
O recurso tem como objetivo identificar condições que podem dificultar a solução adequada de um problema no kernel. Por exemplo, o carregamento de um módulo proprietário pode tornar a saída de depuração do kernel não confiável, porque os desenvolvedores do kernel não têm acesso ao código fonte do módulo e, portanto, não podem determinar o que o módulo pode ter feito com o kernel. Da mesma forma, se o kernel já havia experimentado uma condição de erro ou se ocorreu um erro grave de hardware, as informações de depuração geradas pelo kernel podem não ser confiáveis.
O kernel pode ficar contaminado por vários motivos , incluindo (mas não limitado a) o seguinte:
Cada uma dessas condições é representada por uma bandeira específica no kernel. Alguns fornecedores de Linux, como o SUSE, adicionam sinalizadores de contaminação adicionais para indicar condições, como carregar um módulo que não é suportado pelo fornecedor.
Mais informações estão disponíveis na documentação do kernel . Os sinalizadores de contaminação listados existem (com _ um substituto para 'em branco')
rmmod -f
, caso contrário, se todos os módulos foram descarregados normalmente.fonte