sexta-feira, 6 de abril de 2012

101.1 Determinando e configurando o hardware no sistema operacional

Olá a todos, hoje vou falar um pouco sobre como determinar e configurar o hardware no Linux.
Sabendo que estamos focados na primeira prova da LPI-1, então conforme é cobrado no site lpi.org segue o conteúdo que estaremos vendo hoje.

Topic 101 Arquitetura do Sistema

101.1 Determinando e configurando o hardware 

Termos e Utilitários cobrados:

/sys
/proc
/dev
modprobe
lspci
lsusb
lsmod 



Certo agora que ja sabemos o que precisamos estudar vamos colocar a mão na massa.

Primeiramente precisamos saber como funciona a BIOS (basic imput/output system)
Para entrar na BIOS, assim que sua máquina iniciar vai aparecer algumas informações de leitura de hardware, também vai aparecer alguma informação dizendo como entrar na BIOS alguma mensagem do tipo "tecle enter para entrar no setup/BIOS" na maioria dos computadores é possível entrar teclando enter ou f2 entre outros atalhos do teclado.

O que é possível configurar na BIOS?

Na BIOS é possível configurar data e hora do seu computador, configurar a ordem de boot, bloquear periféricos, configurar I/O IRQ e DMA.

I/O = São portas de entrada e saída, endereços de memória reservado no processador.
IRQ = Uma forma de chamar a atenção do processador, requisição de interrupção.
DMA = Acesso direto a memória, permite troca de informações entre um dispositivo e memória sem intervenção do processador.

Já com seu LINUX iniciado, podemos começar por um comando muito interessante no terminal, o comando lspci.

O que o comando lspci faz?

Lista todos os hadware plugados nas entradas pci do seu computador, podendo ser placa de video, placa com portas usb, etc.

Segue comando abaixo:





Como podemos verificar acima o comando "lspci" listou todo o hardware contido na minha máquina, como algumas portas usb, placa de video onboard VGA "Intel Corporation 82865G" uma placa de rede "Intel Corporation 82801EB/ER" entre outros dispositivos plugados na pci.
 


Comando lsusb: O comando lsusb vai listar todos os dispositivos usb conectados na minha máquina.



Na imagem acima podemos verificar que há dois dispositivos conectados, um pendrive (Toshiba Corp. Kingston DataTraveler) e um mouse (USB+PS/2 Optical Mouse).


Cada dispositivo tem o seu módulo (módulo igual a driver no Windows) para funcionar, algumas vezes precisamos carrega-los no kernel. Mais a frente estarei mostrando os comandos para carregar um módulo.

Muitas vezes precisamos saber mais informações sobre um determinado dispositivo, para isso vamos utilizar o comando.

# lspci -s "endereço do dispositivo" -v

A opção -s serve para especificar o endereço do dispositivo, e o -v de "verbose" mostra as informações mais detalhadas.

Para saber qual o endereço do seu dispositivo, você vai no terminal da o comando "lspci" na primeira coluna a esquerda vai ter o endereço que será mais ou menos assim:

00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)

O endereço vai ser 00:00.0

Agora que já sabemos o endereço do dispositivo vamos utilizar o comando:
 
 # lspci -s "endereço do dispositivo" -v  






Como podemos ver acima na imagem, é detalhado as informações da minha placa de rede, a subsystem, as flags, as portas de entrada e saída, a compatibilidade,  e o driver (módulo) utilizado pelo kernel. 


Agora para saber mais informações sobre um hardware plugado em alguma das portas usb do seu computador você vai utilizar o comando:

# lsusb -d "numerodoID" -v 

A opção -d serve para vc informar qual o ID do hardware e o - v verbose, saída detalhada.

Para saber qual o número do ID do dispositivo plugado na porta usb do seu computador você vai utilizar antes o comando "lsusb" .

# lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Como podemos ver o ID vai ser o "1d6b:0002" .

Agora que já sabemos qual o ID do dispositivo vamos ao comando:

# lsusb -d "numerodoID" -v

Como é muito extensa as informações do dispositivo podemos paginar usando no final do comando o  " | less" pipe less.





Como podemos ver ele vai mostrar muitas informações sobre o dispositivo como "idvendor" fabricante do produto, o "idproduct"  que vai detalhar as informações sobre o produto o serial entre muitas informações.


Agora vamos ver o comando "lsmod" .  


O saída do comando "lsmod" apresenta 3 colunas de informações, a primeira é o nome do módulo, a segunda size (tamanho) do módulo, e a terceira Used by (usado por) qual dispositivo está usando o módulo.


Carregar módulos


Após identificarmos um determinado hardware e seu módulo não estiver carregado é preciso carregar o módulo para que o dispositivo venha a funcionar corretamente, o comando que pode ser utilizado é o modprobe.

# modprobe "nomedomodulo"

Ao carregar um módulo usando o comando modprobe o módulo so ficará disponivel enquanto sua máquina estiver em uso, caso você precise reiniciar ou mesmo desligar ao usar novamente o módulo não vai mais estar ativo no kernel, precisando novamente carregalo com o comando modprobe.
Porém existe um arquivo em /etc/modules.conf onde você pode adicionar o seu módulo, assim o seu módulo será carregado sempre junto a inicialização do sistema.

Você pode editar este arquivo usando o seu editor preferido como vim ou nano.

Em próximmos artigos estarei mostrando com mais detalhes como usar o comando "modprobe" e editar o arquivo "modules.conf" que fica em /etc/modules.conf


Arquivos especiais!!

/proc ->  O /proc guarda informações sobre processos.
/sys -> O /sys guarda informações sobre os dispositivos.

Dentro do /proc contém por exemplo informações sobre seu processador dentro do arquivo "cpuinfo".
Também podemos verificar dentro do "interrupts" informações de requerimentos de interrupções ao processador.
Em outros artigos estarei detalhando melhor o que contém dentro do /proc e /sys.

Bem pessoal por enquanto é isso, bons estudos, abraço!!








Nenhum comentário:

Postar um comentário