===== Nível Básico ===== === 1. Verificação da Versão do Kernel com `uname` === * **uname -r** - Exibe a versão do kernel em execução. - Exemplo de uso: uname -r - Descrição: Mostra a versão exata do kernel Linux em execução no sistema, útil para saber qual kernel está ativo. === 2. Listagem de Módulos do Kernel com `lsmod` === * **lsmod** - Lista todos os módulos do kernel carregados. - Exemplo de uso: lsmod - Descrição: Exibe uma lista de todos os módulos do kernel atualmente carregados no sistema, junto com o tamanho de cada módulo e o número de vezes que está em uso. === 3. Exibição de Informações de Módulos com `modinfo` === * **modinfo** - Exibe informações detalhadas sobre um módulo. - Exemplo de uso: modinfo e1000 - Descrição: Exibe informações detalhadas sobre o módulo do kernel ''e1000'', incluindo autor, licença, dependências e parâmetros configuráveis. ===== Nível Intermediário ===== === 1. Carregamento de Módulos do Kernel com `modprobe` === * **modprobe** - Carrega um módulo do kernel. - Exemplo de uso: sudo modprobe e1000 - Descrição: Carrega o módulo do kernel ''e1000'' (driver de rede Intel), tornando-o ativo e disponível para uso no sistema. === 2. Remoção de Módulos do Kernel com `rmmod` === * **rmmod** - Remove um módulo do kernel. - Exemplo de uso: sudo rmmod e1000 - Descrição: Remove o módulo do kernel ''e1000'' que está carregado, liberando os recursos associados a ele. === 3. Controle de Parâmetros de Módulos com `modprobe` === * **modprobe com parâmetros** - Carrega um módulo com parâmetros customizados. - Exemplo de uso: sudo modprobe e1000 debug=1 - Descrição: Carrega o módulo do kernel ''e1000'' e habilita o modo de depuração passando o parâmetro ''debug=1''. Útil para ajustar o comportamento de módulos. ===== Nível Avançado ===== === 1. Criação de Módulos do Kernel com Código Fonte === * **make modules** - Compila módulos do kernel a partir do código-fonte. - Exemplo de uso: cd /usr/src/linux make modules - Descrição: Compila todos os módulos do kernel a partir do código-fonte localizado em ''/usr/src/linux'', criando binários dos módulos para serem carregados posteriormente. === 2. Gerenciamento de Dependências de Módulos com `depmod` === * **depmod** - Atualiza as dependências de módulos do kernel. - Exemplo de uso: sudo depmod -a - Descrição: Atualiza as dependências dos módulos do kernel, garantindo que todos os módulos que dependem de outros estejam corretamente configurados para carregar na ordem certa. === 3. Configuração de Módulos em Inicialização com `modprobe.d` === * **modprobe.d** - Configura módulos para serem carregados na inicialização. - Exemplo de uso: sudo nano /etc/modprobe.d/e1000.conf # Adicione a linha: options e1000 debug=1 - Descrição: Cria um arquivo de configuração para o módulo ''e1000'' que será lido na inicialização, garantindo que o parâmetro ''debug=1'' seja passado automaticamente sempre que o módulo for carregado. ===== Nível Especializado ===== === 1. Modificação de Parâmetros de Kernel em Execução com `sysctl` === * **sysctl** - Ajusta parâmetros do kernel em tempo real. - Exemplo de uso: sudo sysctl -w net.ipv4.ip_forward=1 - Descrição: Habilita o redirecionamento de pacotes IPv4 no kernel, útil em ambientes de roteamento de rede. O comando ajusta esse parâmetro dinamicamente, sem precisar reiniciar o sistema. === 2. Monitoramento de Eventos do Kernel com `dmesg` === * **dmesg** - Exibe logs de eventos e mensagens do kernel. - Exemplo de uso: dmesg | grep e1000 - Descrição: Filtra e exibe todas as mensagens relacionadas ao módulo ''e1000'', ajudando a depurar problemas relacionados ao driver de rede e monitorar mensagens de erros do kernel. === 3. Criação e Inserção de Módulos Personalizados com `insmod` === * **insmod** - Insere um módulo do kernel manualmente. - Exemplo de uso: sudo insmod /path/para/modulo.ko - Descrição: Insere um módulo personalizado no kernel, útil para testes de desenvolvimento. O módulo deve estar previamente compilado e armazenado no formato ''modulo.ko''. === 4. Debugging de Módulos com `ftrace` === * **ftrace** - Usa ferramentas de tracing para depuração de módulos. - Exemplo de uso: echo function > /sys/kernel/debug/tracing/current_tracer echo e1000 > /sys/kernel/debug/tracing/set_ftrace_filter cat /sys/kernel/debug/tracing/trace - Descrição: Habilita o tracing de funções relacionadas ao módulo ''e1000'', exibindo chamadas detalhadas de funções para depuração em tempo real. Isso é útil para entender o comportamento interno de módulos.