Kernel do Linux

No Linux os drivers são chamados módulos, pois podem ser carregados e descarregados da memoria quando necessários.

Os módulos e o kernel são feitos um para o outro. Um modulo de uma versão, não pode ser usado com kernel de uma outra versão. A versão do kernel em execução (e portanto, a versão do mudulo a ser carregado) é obtida através do comando:
uname -r

Para listar os módulos carregados:
lsmod

Os módulos ficam instalados em /lib/modules, em um diretório, cujo nome corresponde a sua versão numérica.

Dependência de módulo: É algum módulo que deve ser carregado entes do modulo que desejamos.

para carregar o modulo vfat (responsável pela leitura de partições FAT32) usamos o comando:
modprobe vfat

lista os módulos carregados:
modprobe -l -t net

Remove um modulo:
modprobe -r vfat

Exibe as informações de um modulo:
modinfo -d nome_modulo
modinfo -p nome_modulo

Lê as dependências dos módulos
depmod -a

Compilando o Kernel

Para compilar o kernel é necessário que esteja instalado os pacotes a seguir:
make automake
gcc
ncurse
kernel-source

Patches do Kernel

Patches é um conjunto de linhas de  código que diferencia duas versões de um mesmo software.

Os patches podem ser de 2 tipos:
a) Incrementais: devem ser aplicados em sequencia crescente uns sobre os outros (es: 1,1; 1,2; 1,3)
b)não incrementais: basta aplicar o ultimo pois este já incorpora no seu código os patches anteriores.

No kernel do Linux, os patches são usados principalmente pelos desenvolvedores para:
1) Adicionar suporte a novos dispositivo;
2) correção de bugs;
3) adicionar suporte a novas funcionalidades, não licenciadas por GPL e que, por isso nunca serão incorporadas ao kernel padrão.

Procedimentos para compilar o kernel:

Kernel 2.4
make menuconfig, make dep, make modules_install, vi menu.lst

Kernel 2.6
make menuconfig, make, make modules_install, make install

No Linux, muitos parâmetros do sistema (ex: numero máximo de arquivos abertos), são tratados como variáveis em memória. Deste modo estes parâmetros podem ser facilmente alterados, sem ser preciso um reboot. O Linux possui dois mecanismos para efetuar estas alterações:

a) manualmente, através do comando “echo” (altera o valor, até o próximo reboot)
b) Através da configuração do /etc/sysctl.conf (configura de modo permanente)

a) manualmente:
echo 1 > /proc/sys/net/ipv4/ip_forward (ativa o roteamento ip)
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter (desabilita o anti-spoof)

sysctl.conf
sysctl -p
diretório de documentação :/usr/src/linux/Documentation/sysctl

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *