um resumo sobre os principais tópicos da prova lpic-2.
2.201.1 Kernel Componentes
peso: 1
Descrição: Candidatos devem estar aptos à utilizarem componentes
do kernels para hardware especifico, drivers de hardware recursos
do sistema. este objetivo inclui uma implementaçao de diferentes
imagens e tipos de kernels. identificando um kernel estavel de um em
desenvolvimento e utilização de modulos de kernel.
conhecimentos chave(s):
Kernel documentação(2.4 and 2.6)
uma lista parcial dos arquivos e comandos utilizados, termos e utilitarios:
/usr/src/linux
/usr/src/linux/Documentation
zImage
bzImage
resumo:
dois tipos de formatos podem ser utilizados em plataformas intel:
zImage e bzImage. a diferença entre as duas imagens é como ocorre
o bootstrap e quao grande pode ser o kernel e nao o algoritimo de
compressao. ambos utilizam o formato gzip para compressao.
2.201.2 Compilando um kernel
peso: 1
Descrição: Candidatos devem estar preparados para configurar
um kernel para incluir funcionalidades e suporte a algum hardware
quando necessario. atualizar, recompilar criar uma imagem initrd e
instalar novos kernels.
Conhecimento chave(s):
/usr/src/linux/
arquivos de configuração do GRUB
opções do make(2.4 and 2.6)
arquivos de configuração do LILO
uma lista parcial dos arquivos e comandos utilizados, termos e utilitarios:
mkinitrd
make
make options (config, xconfig, menuconfig, oldconfig, cloneconfig,
prepare-all, mrproper zImage, bzImage, modules, modules_install)
resumo:
existem tres metodos de utilizacao do make para compilar o kernel:
make config, make menuconfig e make xconfig. qualquer um desses
metodos cria um arquivo com a extensao .config. que é utilizada
quando é feita a imagem zImage e bzImage do kernel.
obs: para utilizar o make com sucesso, certifique-se de que
voce tem todos os pacotes apropriados ou aplicacoes instaladas:
todo os metodos do make requerem os pacotes glib-devel, gcc
ou egcs, make, kernel-headers, kernel-source, bin-86 e cpp.
se voce optar por utilizar a opcao make menuconfig, voce
precisara dos pacotes ncurses e ncurses-devel instalados.
quando se compila e instala um kernel, voce utiliza varias
opcoes de make. existem 11 opcoes.
1. voce precisa estar no diretorio com seus arquivos
fonte do kernel, como no diretorio /usr/src/linux. caso planeje
configurar seu kernel completamente do zero, digite make mrproper.
essa acao remove seu arquivo atual .config e permite a voce marcar
todas as novas opcoes de seu kernel sem precisar conhecer sua
configuracao padrao atual. se voce desejar ver suas opcoes de
configuracao padrao, pule o passo do make mrproper. para
configurar seu kernel, utilize sua escolha make config,
make menuconfig e make xconfig.
2. posteriormente, voce precisa de uma pequena limpeza geral
no seu kernel. isto significa que voce precisa limpar qualquer
arquivo temporario desnecessario presente na arvore do
codigo-fonte do kernel. para fazer isto, rode o comando
make clean.
3. na serie 2.4 de kernels, construa as tabelas de dependencias entre
as varias funcionalidades e modulos. voce tera de escolher se eles
poderao ser construidos na ordem correta e sem a construcao das
funcionalidades e modulos em desuso. para construir essas tabelas,
rode o make dep. esta etapa nao precisa ser feita para kernels 2.6,
porque o processo de construcao gera as informacoes de dependencia
automaticamente.
4. criar a imagem do kernel usando o make bzImage (ou make zImage caso seu hardware requeira este tipo antigo de imagem). este comando compila uma imagem e a coloca em arch/i386/boot/bzImage. apos a imagem ter sido criada, copie o arquivo bzImage para o diretorio /boot.
no /boot, voce poderá escolher renomear a imagem para algo como vmlinuz-kernel-version, por exemplo, vmlinuz-2.6.18. depois copie o arquivo System-map para /boot/System-map-2.6.18, o qual abilita algumas features como o carregamento de modulos e o display simbolicos das rotinas do kernel pelo programa top.
5. compile seus modulos. make modules para compilar todos os
modulos que voce selecionou.
6. instale seus modulos compilados com o make modules_install.
quando voce instala os modulos com esta opção de make. make,
coloca seus modulos em /lib/modules.
resumo 2.6: make clean bzImage modules modules_install
resumo 2.4: make clean dep bzImage modules modules_install
7. crie a imagem initrd. ela é utilizada
para pré-carregar os blocos de modulos de dispositivos
(como driver SCSI para acessar os hardwares SCSI) que sao
obrigatorios durante o boot para acessar o sistema de arquivo root.
para isso utilize o mkinitrd. explico logo à frente.
8. E, por ultimo, voce precisa configurar seu bootloader.
no caso do lilo, utilize o /etc/lilo.conf. por exemplo, para adicionar o
kernel vmlinuz-2.6.18 acresente algo como:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
timeout=100
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.6.18
label=linux-2.6.18
initrd=/boot/initrd-2.6.18
e nao se esqueça de executa o /sbin/lilo.
no caso do grub. utilize o /boot/grub.conf
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Linux 2.6.18
kernel (hd0,0)/vmlinuz-2.6.28
initrd (hd0,0)/initrd-2.6.18
utilizando o initrd
o initrd é utilizado pelo kernel para carregar os drivers antes do
inicio do boot. uma imagem initrd é tipicamente criada pelo
comando mkinitrd. mas este comando difere entre as principais
distros. no caso do fedora:
mkinitrd -v /boot/initrd-2.6.18 2.6.18
obs: no caso do debian. voce precisa ter suporte a cramfs
(compressed ROM filesystem) no kernel.
o debian utiliza o /etc/mkinitrd/mkinitrd.conf para outras opcoes.
no caso do debian:
mkinitrd -o /boot/initrd-2.6.18 /lib/modules/2.6.18
2.201.3 Patcheando o kernel
peso: 2
Descrição: candidatos devem estar aptos a aplicar patch no kernel para adicionar
suporte a um hardware em especial.
conhecimentos chave(s):
Kernel Make files
uma lista parcial dos arquivos e comandos utilizados, termos e utilitarios:
patch
gzip
bzip2
resumo:
vamos atualizar a versao do kernel existente pela proxima versao.
por exemplo, voce tem instalado o kernel 2.6.18 e quer atualizar para
o 2.6.19. pegue o patch-2.6.19.bz2 e aplique no seu novo kernel e
recompile-o obviamente.
ln -s /usr/src/linux-2.6.18 /usr/src/linux
cp patch.2.6.19.bz2 /usr/src/
cd /usr/src/linux; bzip2 -dc ../patch-2.6.19.bz2 | patch -p1
a opcao -p1 diz para remover um nivel de caminho do inicio dos
nomes de arquivos no patch.
removendo o patch:
cd /usr/src/linux; bzip2 -dc ../patch-2.6.19.bz2 | patch -p1 -R
2.201.4 Customizando o kernel
peso: 1
Descrição: Candidatos devem estar aptos para customizar
um kernel para um sistema específico.
conhecimentos chave(s):
/usr/src/linux/
/proc/sys/kernel/
Module configuration files
uma lista parcial dos arquivos e comandos utilizados,
termos e utilitarios:
patch
make
module tools
kerneld
kmod
to be continue ..
No comments:
Post a Comment