Debian 6 Squeeze
R
Objetivos
Aps completar esta unidade, voc dever ser capaz de: Gerenciar/consultar o kernel e Mdulos do kernel em tempo de execuo. Reconfigurar, construir e instalar um kernel e mdulos do kernel personalizados
Introduo
O kernel o software central que detm e gerencia o seu sistema. Controla o hardware , a memria e agendamento de 12/15 12/31 processos. Fornece uma interface entre para os programas acessarem indiretamente os recursos de hardware.
Introduo
A arquitetura do Linux contm duas sees principais: Kernel space e user space. O entendimento desses conceitos muito importante para a 12/15 12/31 compreenso do sistema como um todo. O espao do kernel, onde todos os nveis de processos acontecem. Esses processos, afetam todo o sistema para que ele fique estvel e seja mantido em funcionamento. Um problema no kernel space pode causar um crash no sistema (kernel panic)
sexta-feira, 25 de maio de 2012
Kernel space
O principal residente no kernel space, claro, o prprio kernel. O kernel parte de um software que gerencia a alocao de 12/15 12/31 memria para os processos e divide o tempo de uso da CPU apropriadamente. O kernel tambm contm drives de dispositivos de hardware instalados no sistema.
User space
Gerencia os processos de usurios executados pelas pessoas que estejam trabalhando no sistema. Processos de usurios so clientes de e-mail, um browser, 12/15 12/31 um processador de texto. Esses processos trabalham com o kernel para manusear funoes de baixo nvel, como imprimir a tela (printscreen). Como esses processos no so manuseados no kernel space, uma aplicao corrompida no ir ocasionar um crash no sistema.
Desenvolvimento do kernel
Linus Torvalds, o autor original do kernel, ainda o cabea do desenvolvimento do kernel. Muitas pessoas ao redor do mundo trabalham no 12/15 12/31 desenvolvimento do kernel e enviam novos patches e caractersticas. Linus trabalha com duas rvores de desenvolvimento do kernel, que so realizadas simultaneamente: stable e development. major.minor.patch
Desenvolvimento do kernel O comando uname utilizado para mostrar informaes a respeito do kernel do sistema. Quando usado apenas com a opo -a, mostra todas as informaes sobre o kernel. NOME DO KERNEL 12/15 12/31 NODENAME (nome da mquina) RELEASE-DO-KERNEL VERSO-DO-KERNEL MQUINA PROCESSADOR PLATAFORMA-DE-HARDWARE SISTEMA-OPERACIONAL
sexta-feira, 25 de maio de 2012
-i : Plataforma de hardware -m : Hardware da mquina -n : Nome da mquina -p : Processador -o : Sistema operacional -r : Release do kernel -s : Nome do kernel -v : Verso do kernel
12/15 12/31
Mdulos
Devido ao fato de o kernel j ter suporte interno para a 12/15 12/31 maioria dos dispositivos , diz-se que ele monoltico. Kernel modulares , drivers de dispositivos so inseridos no kernel em execuo, adicionando mdulos dinamicamente.
Mdulos
Mdulos so componentes do kernel que podem ser carregados ou retirados da memria dinamicamente, ou seja, com o sistema em funcionamento.
12/15 12/31
Mdulo MDULO 22
Mdulos
Os mdulos do kernel do Linux so arquivos de objetos (.ko) produzidos pelo compilador C (gcc). 12/15 12/31 Os mdulos so armazenados em /lib/modules/verso-dokernel # cd /lib/modules/`uname -r` # cd kernel
Mdulos Dentro de cada hierarquia da verso do kernel, h um subdiretrio kernel que contm mdulos , classificados por categoria em subdiretrios adicionais: arch : traz informaes sobre arquitetura do processador. 12/15 crypt: Mdulos usados para criptografia de dados. 12/31 drivers : mdulos diversos, para suporte a cdrom, raid, wireless, video, etc. fs : Mdulos para suporte a sistemas de arquivos como ext2,ext3, ext4, nfs, vfat, quota, xfs, reiserfs. net e sound : Mdulos de suporte a dispositivos de rede e som.
Gerncia de mdulos
lsmod : para cada mdulo do kernel carregado, exibe o seu nome, tamanho, contagem de uso e uma lista de outros mdulos que se referem a ele. 12/15 12/31 Idntico ao disponvel em /proc/modules # iptables -L # lsmod # lsmod | grep ip
Gerncia de mdulos
insmod : insere um mdulo do kernel rmmod : remove um mdulo do kernel modinfo : exibe informaes sobre um mdulo do kernel. 12/15 12/31 modprobe : Carrega o mdulo especificado e os mdulos dos quais depende, conforme listados no arquivo /lib/modules/ x.x.x./modules.dep. Pode ser usado para remover modulos com as opes -ra.
Opes do modprobe -a Carrega todos os mdulos -c Exibe uma configurao completa dos mdulos, 12/15 12/31 incluindo padres e diretivas encontrados em /etc/ modprob.d/. -l Lista os mdulos , usado com a opo -t. -r Remove o mdulo, semelhante a rmmod. Pode ser especificado mltiplos mdulos.
sexta-feira, 25 de maio de 2012
Opes do modprobe -s Direciona a sada de erros para o syslog --show-depends Exibe uma lista de dependncias de um12/31mdulo 12/15 incluindo o prprio mdulo. -t module_type Indica o tipo de mdulo a ser usado, junto com o -l
Opes do modprobe # modprobe msdos # lsmod | grep msdos # modprobe --show-depends msdos # modprobe -r msdos # modprobe -l -t net
12/15 12/31
Compilao do kernel Existem bsicamente dois motivos para compilao do kernel Problemas de segurana Hardware no suportado pela presente verso do kernel, ou mesmo uma correo de um driver/mdulo 12/15 12/31 considerado importante. O kernel padro inclui suporte a diversos dispositivos que podem nem estar sendo utilizados, causando uma possvel instabilidade ou demora na carga do sistema. Incluir suporte a alguns hardwares que esto desativados no kernel padro. Aplicao de patchs de segurana para o sistema
Compilao do kernel
Existem praticamente trs passos para compilao do kernel: Preparao 12/15 12/31 Compilao Carga do novo kernel
Preparao Pacotes necessrios Debian 6.0 Squeeze # aptitude install build-essential autoconf libncurses5 libncurses5-dev ncurses-base ncurses-bin ncurses-term
12/15 12/31
Compilao Descompactar o fonte do kernel no diretrio /usr/src # tar -xjvf linux-2.6.29.4.tar.bz2 -C /usr/src # cd /usr/src # ln -s linux-2.6.29.4 linux 12/15 12/31 # cd linux Depois executar os seguintes comandos # make mrproper # make menuconfig # make dep # make clean # make bzImage
sexta-feira, 25 de maio de 2012
Compilao Criar e instalar os mdulos # make modules # make modules_install # make install
12/15 12/31
Entrar no diretrio /boot e gerar imagem de RAM # cd /boot # mkinitramfs -o initrd.img-2.6.39.4 2.6.39.4 # update-grub # reboot
Compilao Reiniciar a mquina e verificar se o sistema carrega o novo kernel. Alguns problemas podem ocorrer, devido a algum tipo de 12/15 12/31 conflito de hardware