Responsável pela etapa final do suporte a hardware no Linux, o utilitário modprobe já carrega um módulo de qualquer lugar do sistema.
O modprobe é comando usado para carregar e remover módulos do kernel, uma tarefa essencial para o suporte ao hardware do sistema.
Normalmente, o modprobe lê o arquivo de dependências de módulos gerado pelo comando depmod. Por isso, deve-se executar o comando
depmod -a
para produzir um novo arquivo contendo as dependências de módulo.
Após executá-lo, pode-se usar o comando modprobe para instalar qualquer módulo e ter os outros módulos dos quais ele depende automaticamente instalados.
Agora, com o recente lançamento do kmod 31, o utilitário modprobe do Linux para carregar módulos do kernel pode finalmente permitir caminhos arbitrários para permitir o carregamento de novos módulos do kernel de qualquer lugar no sistema de arquivos.
modprobe já carrega um módulo de qualquer lugar do sistema
Sim. Agora o modprobe já carrega um módulo de qualquer lugar do sistema. Surpreendentemente, demorou até 2023 para permitir que o modprobe do Linux aceitasse o carregamento de módulos do kernel de qualquer caminho arbitrário.
Em vez de apenas especificar o nome do módulo e depois procurá-lo no diretório de módulos do kernel em execução, o modprobe agora pode permitir a passagem de um caminho para o módulo.
Caminhos relativos também são suportados quando prefixados com “./” para o caminho para o módulo desejado.
Adicionar a capacidade de especificar caminhos personalizados para módulos foi motivado pelos desenvolvedores do kernel para facilitar o teste de módulos recém-compilados sem primeiro ter que usar insmod ou similar para inserir o módulo no diretório de módulos do kernel em execução.
O commit que adiciona o patch de Gustavo Sousa da Intel explica: “eles podem carregar o módulo do caminho enquanto obtêm todos os benefícios do modprobe (por exemplo, resolução de dependência do módulo).”
No anúncio do kmod 31 de hoje acrescenta que esse recurso é ótimo para evitar ter que carregar as dependências manualmente ou substituir os módulos dentro de /usr/lib/modules/. Da parte da Intel, isso é motivado pelo trabalho no driver do kernel i915.
O Kmod 31 agora também usa descompressão no kernel quando disponível, melhorias no sistema de compilação e outras correções e aprimoramentos.