Trabalhando com módulos
ObjetivosDevemos saber identificar os modulos do nosso hardware, e configura-los corretamente;
Também devemos saber a diferença entre um modulo e um driver.
Introdução
Quando instalamos um Debian, RedHat, Suse, Slackware, entre outras distribuição, estamos utilizando um kernel que foi compilado pelos desenvolvedores da distribuição.
O que kernel que vem por default em uma distriuição, deve ser capaz de rodar praticamente qualquer PC e dar suporte a quaisquer tipos de recursos que o usuário pretenza utilizar, o desenvolvedor compila um kernel que fornece todas as funcionalidades básicas, e , separando, compila pedaços de codigo que dão suporte a funcionalidades mais específicas. Esses pedaços de codigo são os chamados modulos.
Dessa forma, quando o sistema é carregado, um kernel basico se coloca na memoria e passa a controlar a maquina. Neste ponto são verificadas outras funcionalidades que se espera que o kernel de suporte, como por exemplo utilizar uma partição XFS. Neste momento, se o kernel não possuir suporte nativo a esse file system ele irá verificar se o modulo que dá suporte a ele foi compilado. Se esse modulo for encontrado, ele será carregado expandindo as funcionalidades do kernel.
Em um sistema como esse, haverá diversos modulos carregados e um número maior ainda que não estará sendo utilizado, mas disponível.
Os moduloes disponíveis, em geral, encontra-se no diretorio /lib/modules, e os modulos que estão carregados podem ser visualizados com o comando lsmod.
Ao mesmo tempo que a capacidade de subir modulos é uma vantagem do ponto de vista que apenas os modulos realmente necessários serão carregados, há a desvantagem de fragmentação do kernel na memoria.
Pratica dirigida
1- Determine qual versão do kernel está rodando:
# uname -a
2 -Determine quais modulos estão carregados:
# lsmod
# cat /proc/modules
3 – Determine quais modulos estão compilados (disponíveis):
# modprobe -l
4 – Determine quais modulos estão compilados explorando o diretorio /lib/modules:
# find /lib/modules/$(uname -r) -name '*ko'
6 – Determine para que serve o modulo chamado ext3:
# modinfo ext3
7 – Determine quais modulos são utilizados pelo dispositivo do cdrom:
# lsmod |grep cdrom
8 – Tente remover o modulo cdrom utilizado o rmmod:
# rmmod cdrom
9 – Remova o modulo ide_cd com rmmod já que ele está utilizando o modulo cdrom:
# rmmod ide_cd
10 – Verifique que o modulo ide_cd foi removido mas o cdrom ainda está carregado:
# lsmod |grep ide_cd
# lsmod |grep cdrom
11 – Já que o modulo cdrom não está mais sendo utilizado podemos remove-lo:
# rmmod cdrom
# lsmod |grep cdrom
12 – Remova o modulo cdrom da memoria utilizando o comando “modprobe -r”:
# modprobe -r cdrom
13 – Remova o modulo cdrom da memoria utilizando o comando “modprobe -r”:
# modprobe -r ide_cd
14 – Verifique que o ide_cd foi removido e que o cdrom....
# lsmod |grep ide_cd
# lsmod |grep cdrom
15 – Já que removemos o suporte ao cd-rom, vamos restaura-lo:
# insmod ide_cd
# insmod $(modprobe -l ide_cd)
# insmod $(modprobe -l cdrom)
# lsmod |grep cdrom
15 - Identique qual é a placa de rede do seu computador:
# lspci |grep -i eth
16 – Determine se o modulo/placa de rede suportam operar em modo full duplex:
# modinfo 8139too
4 – Como faço para que o modulo seja carregado durante o boot?
# echo
Exercicios teoricos
1- Qual a diferença entre “lsmod” e “modprobe -l”?
2 – Qual a diferença entre “insmod” e “modprobe -i”?
3 – Qual diferença entre “rmmod” e “modprobe -r”?
DICA LPI:O comando que exibe o kernel em uso, e suas opções: uname -a
0 comentários:
Postar um comentário