Académique Documents
Professionnel Documents
Culture Documents
PARTE:
O KERNEL E A
COMPILAO
NDICE
ABERTURA...............................................................6
I. VISO GERAL.........................................................7
Introduo.......................................................................................7
Particularidades..............................................................................7
Tipos e adaptaes..........................................................................7
Monoltico..............................................................................................7
Modular..................................................................................................7
Semi-monoltico?....................................................................................8
As verses........................................................................................8
O armazenamento...........................................................................9
Os binrios.............................................................................................9
O cdigo-fonte........................................................................................9
Desenvolvimento...........................................................................10
Concluso......................................................................................11
II. BONS
Introduo.....................................................................................12
Bons motivos.................................................................................12
Suporte a perifricos e programas......................................................12
Otimizao e personalizao................................................................12
Suporte especfico para cada arquitetura...........................................13
Compatibilidade...................................................................................13
Experincia e aprendizado...................................................................13
Concluso......................................................................................13
III. PREPARATIVOS
INICIAIS.......................................14
Introduo.....................................................................................14
Procedimentos necessrios..........................................................14
Cpia de segurana dos dados do sistema..........................................14
Disquetes de inicializao....................................................................14
Cpia de segurana da compilao anterior.......................................15
Manuteno da verso anterior do kernel..........................................15
Requerimentos bsicos.................................................................15
Obtendo o cdigo-fonte do kernel.......................................................16
Preparando a compilao.............................................................16
Instalao do novo cdigo-fonte..........................................................16
Mantendo ou removendo as definies de parmetro anteriores......17
Concluso......................................................................................17
IV. CONFIGURAO
DE SUPORTE E PARMETROS..............18
Introduo.....................................................................................18
Utilitrios de configurao...........................................................18
make xconfig........................................................................................18
make menuconfig.................................................................................19
make config..........................................................................................20
Sobre a habilitao de parmetros e suportes............................20
Mdulos: quando utilizar?...................................................................21
Ajustando os parmetros de configurao..................................21
Code maturity level option...................................................................21
Loadable module support....................................................................22
Processor type and features................................................................22
General setup.......................................................................................22
Memory Technology Devices (MTD)....................................................23
Parallel port support............................................................................23
Plug and Play Configuration................................................................23
Block devices........................................................................................23
Multi-device support (RAID and LVM)................................................24
Networking options..............................................................................24
Telephony Support...............................................................................24
ATA/IDE/MFM/RLL support................................................................24
SCSI support........................................................................................25
Fusion MPT device support.................................................................25
IEEE 1394 (FireWire) support (EXPERIMENTAL).............................25
I2O device support...............................................................................25
Network device support.......................................................................26
Amateur radio support.........................................................................26
IrDA (infrared) support........................................................................26
ISDN subsystem...................................................................................26
Old CD-ROM drivers (not SCSI, not IDE)............................................26
Input core support...............................................................................26
Character devices.................................................................................26
Multimedia devices..............................................................................27
File systems..........................................................................................27
Console drivers....................................................................................27
Sound...................................................................................................
.27
USB support.........................................................................................27
Bluetooth support.................................................................................28
Cryptographic options.........................................................................28
Kernel hacking / Library routines........................................................28
Salvando as alteraes realizadas................................................29
Concluso......................................................................................29
V. A
COMPILAO..............................................
......30
Introduo.....................................................................................30
Iniciando a compilao.................................................................30
Construindo a imagem compactada do kernel....................................30
Opo automatizada.......................................................... .......................30
Ajustes necessrios.......................................................................32
Copiando a imagem do kernel.............................................................32
Alterando a configurao do LILO......................................................33
Concluso......................................................................................34
VI. MANIPULAO
DE MDULOS E PENDNCIAS................35
Introduo.....................................................................................35
As ferramentas..............................................................................35
lsmod....................................................................................................35
modprobe.............................................................................................35
insmod..................................................................................................36
depmod.........................................................................................
........36
modinfo................................................................................................37
rmmod..................................................................................................37
Manipulao manual.....................................................................37
Arquivos de configurao.............................................................38
Localizao padro dos mdulos.........................................................38
Sobre o arquivo /etc/rc.d/rc.modules..................................................38
Concluso......................................................................................38
VII. CIRCUNSTNCIAS
ESPECIAIS.................................40
Introduo.....................................................................................40
Kernel............................................................................................40
Mantendo mltiplas verses personalizadas do kernel......................40
Aplicando correes ao cdigo-fonte do kernel..................................42
Os comandos diff e patch............................................................. .............42
Compilao....................................................................................43
Compilando o cdigo-fonte em outros processadores........................43
Configurao.................................................................................43
Restaurando as definies anteriores.................................................43
Concluso......................................................................................44
VIII. PROBLEMAS
MAIS FREQENTES............................45
Introduo.....................................................................................45
Resolvendo problemas..................................................................45
Antes....................................................................................................45
Parmetros errados sendo definidos na configurao..................... ..........45
Erros durante a verificao de pendncias com o comando make dep......45
Durante................................................................................................
.45
Falha na execuo dos comandos make bzImage e make modules...........45
Depois............................................................................................
.......46
O sistema no inicializa...................................................................... .......46
O sistema apresenta a mensagens de erro "Unresolved symbols".............46
Kernel enorme............................................................................ ...........47
Comportamento anormal do kernel.................................................. .........47
Algumas aplicaes no funcionam corretamente................................ .....47
Recomendaes gerais.................................................................47
Concluso......................................................................................48
ENCERRAMENTO......................................................49
ABERTURA
Conforme enfatizado na 1a. Parte Os sistemas GNU/Linux, todas as
distribuies baseadas nos sistemas GNU/Linux existentes so compatveis,
graas ao uso de um kernel nico desenvolvido por uma equipe de
excelentes e restritos programadores, onde Linus Torvalds o
coordenador.
Outra situalizao analisada est no fato do Slackware, em comparao
maioria das demais distribuies, ter o diferencial de possui vrios kernels
customizados para o uso em situaes especficas. Ainda assim, existiro
circunstncias em que necessitaremos de ter habilitadas algumas
funcionalidades especficas, bem como outras que no tero necessidade de
estarem presentes, ocupando memria e carga do processador.
Pelo fato do cdigo-fonte ser aberto e da existncia de diversos recursos
para a sua modificao, o kernel possui uma grande flexibilidade para ser
adaptado e recompilado com o intuito de atender os mais variados motivos.
justamente por isso que iremos estudar o kernel e detalhar como
funciona o processo de compilao do kernel, para que o usurio possa
obter suporte determinadas tecnologias ou perifricos, alm de otimizar o
sistema para obter uma melhor performance.
Existem inmeras funcionalidades ao qual o kernel pode ser adaptado. Para
ns, simples usurios desktops, apesar deste processo no ser to
necessrio, e na maioria das vezes dispensvel, nos interessar apenas
conhecer suas caractersticas e possivelmente realizar algumas
intervenes caso necessrias para o uso dos sistemas GNU/Linux em nosso
cotidiano. E para isto, nos prximos captulos iremos conhecer as
caractersticas e particularidades do kernel Linux, alm de obter
informaes necessrias para personaliz-lo de forma atender as mais
variadas necessidades conforme dito anteriormente. &;-D
6/49
I. VISO
GERAL
INTRODUO
<http://www.kernel.org/>.
PARTICULARIDADES
O kernel Linux possui diversas caractersticas e particularidades tcnicas,
que por sua vez associado diretamente s distribuies; por isto, optamos
inserir estas informaes na 1a. Parte: Os sistemas GNU/Linux -> Linux.
TIPOS
E ADAPTAES
MONOLTICO
Um kernel considerado monoltico quando os drivers e/ou programas de
controle dos dispositivos so compilados diretamente no kernel. Estes
kernels so utilizados para a inicializao de sistemas para os mais variados
tipos de hardware. Porm em contrapartida exigem um consumo muito
maior de memria RAM que o kernel modular, onde diversos destes drivers
e/ou programas so compilados como mdulos.
MODULAR
Ao contrrio do kernel monoltico, no kernel modular os programas de
controle de dispositivos so compilados separadamente como mdulos ao
invs de serem inclusos no kernel. A principal vantagem deste processo
est no fato de se obter um kernel leve, rpido e bem enxuto. Porm,
dependendo das operaes serem realizadas e dos possveis mdulos
existentes, possivelmente ocorrer uma perda de performance face ao
carregamento destes mdulos durante a utilizao intensa dos dispositivos
do sistema. Este o principal motivo pelo qual determinadas tecnologias
7/49
SEMI-MONOLTICO?
Tanto o kernel monoltico quanto o kernel modular so temas de debates e
discusses entre vrios especialistas em desenvolvimento de sistemas
operacionais. Com os desenvolvedores do kernel Linux, com certeza no
seria diferente: enquanto alguns defendem a utilizao do kernel modular
em argumento sua simplicidade e formato compacto, outros defendem a
utilizao do kernel monoltico, tendo como principal argumento a
dificuldade em obter trocas de informaes confiveis entre os
desenvolvedores, pelo fato destes estarem divididos em numerosos grupos
para a administrao de seus respectivos mdulos.
Para intermediar estas circunstncias, foi incorporado ao kernel Linux
algumas caractersticas do kernel modular, onde estas apresentam as suas
principais qualidades sem apresentar suas limitaes, como a perda de
desempenho e simplicidade.
AS
VERSES
8/49
ARMAZENAMENTO
OS
BINRIOS...
root
root
root
root
root
root
root
root
root
A imagem do kernel principal corresponde ao arquivo vmlinuz-ide[VERSO], ao passo que o arquivo System.map-ide-[VERSO] utilizado
pelas ferramentas de manipulao de mdulos. J o config-ide-[VERSO]
refere-se s opes de configurao padro da distribuio que foram
utilizados na compilao do kernel correspondente ao .config situado no
pacote do cdigo-fonte.
CDIGO-FONTE
19
1
1
30
41
46
26
2
2
2
4
1
1
2
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
456
18691
79594
3416
1032
2240
696
136
192
736
536
42744
18780
608
Nov
Ago
Nov
Nov
Nov
Nov
Nov
Nov
Nov
Nov
Nov
Nov
Nov
Nov
28
2
28
28
28
28
28
28
28
28
28
28
28
28
2002
2002
2002
2002
2002
2002
2002
2002
2002
2002
2002
2002
2002
2002
arch
COPYING
CREDITS
Documentation
drivers
fs
include
init
ipc
kernel
lib
MAINTAINERS
Makefile
mm
9/49
drwxr-xr-x
-rw-r--r--rw-r--r--rw-r--r-drwxr-xr-x
# _
28
1
1
1
4
573
573
573
573
573
573
573
573
573
573
888
14239
2815
9291
928
Nov 28
Ago 2
Abr 6
Ago 2
Nov 28
2002
2002
2001
2002
2002
net
README
REPORTING-BUGS
Rules.make
scripts
fs/
Sistema de arquivos.
include/
init/
Definies de inicializao.
ipc/
kernel/
Cdigo-base do kernel.
lib/
mm/
modules/
net/
Interligao em redes.
scripts/
DESENVOLVIMENTO
Conforme brevemente comentado na 1a. Parte: Os sistemas GNU/Linux ->
O Linux, o kernel desenvolvido graas ajuda de milhares de
colaboradores, que tendo em mos o seu cdigo-fonte, ajudam nas mais
diversas formas: sejam aperfeioando o prprio cdigo, analizando,
comunicando erros, dando sugestes, etc., enfim, colaboraes que hoje o
tornam um dos maiores projetos de cdigo-aberto atualmente.
Encabeado por Linus Torvalds e com grande apoio de seu brao direito
Alan Cox, o kernel Linux possui um grupo de desenvolvedores, subdividido
10/49
CONCLUSO
Enfim, aps a leitura de todo este captulo, acreditamos que os usurios
estejam pensando que aprenderam praticamente tudo sobre o kernel Linux,
correto? Errado. De acordo com a viso e a necessidade de cada usurio ou
entidade, o kernel Linux possui aspectos e particularidades tais que
poderiam render um livro inteiro se tivssemos que detalh-lo por
completo. Aqui apenas colocamos as consideraes mais bsicas e
importantes para obtermos uma viso geral. Com estas informaes, o
usurio apenas ter um entendimento bsico, porm suficiente para
entender a mais importante pea do sistema operacional no toa que
chamado de ncleo! &;-D
11/49
II. BONS
INTRODUO
A compilao do kernel est entre as maiores vantagens para a adoo de
sistemas operacionais livres como o GNU/Linux e BSDs em comparao aos
outros proprietrios existentes, justamente por ser possvel realizar a
otimizao de seus recursos em virtude de se encontrar disponivel o seu
cdigo-fonte para a realizao desta operao. Este motivo, por si s, j o
suficiente para justificar o uso deste processo. Mas especificamente para
ns, simples usurios, quais motivos poderemos ter para realizar este
procedimento? Quais so suas vantagens? Em qu mais especficamente
ns iremos nos beneficiar? Quais so os riscos?
Enfim, para estas e muitas outras perguntas, elaboramos um captulo
especial parte para o esclarecimento das dvidas mais comuns dos
usurios iniciantes que se decidiram em usar deste processo.
BONS
MOTIVOS...
SUPORTE
A PERIFRICOS E PROGRAMAS
OTIMIZAO E
PERSONALIZAO
Por padro e de acordo com cada kernel disponibilizado pelas mais diversas
distribuies, existem recursos diversos que so disponibilizados para
atender a grande maioria dos usurios; porm, por mais exticos que
sejam tais usurios, a grande maioria dos recursos presentes sero
desnecessrios para seu uso. A compilao do kernel prov um conjunto de
recursos mais enxuto ao sistema o qual se encontra instalado. Basta apenas
personaliz-lo de acordo com o equipamento utilizado, onde teremos um
novo kernel, mais simples, limpo, rpido, enxuto e mais eficiente.
12/49
SUPORTE
COMPATIBILIDADE
A possibilidade de ajustar o kernel para especficas finalidades o torna
altamente compatvel com as tecnologias e requesitos atuais. Suporte
dispositivos exticos e perifricos desconhecidos so tambm garantidos
com algumas alteraes na configurao do kernel e respectiva utilizao.
EXPERINCIA E
APRENDIZADO
CONCLUSO
Apesar de ser at um certo ponto desnecessrio e at mesmo no
recomendvel , existem diversas vantagens oferecidas pela utilizao deste
procedimento. Alm de um pequeno ganho de performance e desempenho
(s vezes sensvel), o aprendizado um dos fatores que consideramos de
suma importncia. Conhecer algumas caractersticas e particularidades do
kernel Linux nos beneficiar muito quando houver necessidade de realizar
intervenes, como a instalao e suporte de um perifrico, a adaptao de
determinados parmetros, entre outros. Alm disso, aprendizado nunca
demais! &;-D
13/49
III. PREPARATIVOS
INICIAIS
INTRODUO
Como qualquer outra operao que envolve riscos de perdas de dados, ser
necessria a realizao de alguns preparativos iniciais que visam dar
assistncia ao desenvolvimento do processo e ao mesmo tempo resguardar
o usurio contra possveis falhas e sinistros que podero ocorrer sob os
mais variados motivos. Por se tratar da compilao do kernel justamente
o ncleo do sistema operacional lgico que toda a ateno dada este
aspecto no mnimo... merecida! &;-D
PROCEDIMENTOS
NECESSRIOS
CPIA
DISQUETES
DE INICIALIZAO
14/49
CPIA
MANUTENO DA
opcional, porm recomendada a manuteno da antiga verso do cdigofonte do kernel compilado anteriormente no sistema. Evitem exclu-lo, pois
dependendo das circunstncias, poderemos necessitar dele. Isto ocorre
muito com as novas verses do kernel, logo aps que estas so lanadas.
Caso o cdigo-fonte esteja armazenado em um diretrio simplesmente
chamado linux e no um atalho deveremos renome-lo para a verso o
qual pertence, no seguinte formato:
# mv linux linux-[VERSO]
REQUERIMENTOS
BSICOS
15/49
OBTENDO
O CDIGO-FONTE DO KERNEL
<http://www.kernel.org/>.
<ftp://ftp.kernel.org/pub/linux/kernel/>.
PREPARANDO
INSTALAO
A COMPILAO
DO NOVO CDIGO-FONTE
16/49
# ln -s /usr/src/linux-[VERSO] linux
MANTENDO
CONCLUSO
A realizao de preparativos iniciais em processos complexos e crticos
fator de fundamental importncia para o seu sucesso. Na compilao do
kernel, com certeza no seria diferente. Para isto, solicitamos uma certa
ateno na utilizao das instrues contidas neste captulo, pois de acordo
com suas necessidades, elas sero fatores preponderantes no sucesso da
compilao do kernel.
Existiro tambm diversos outros aspectos importantes serem
observados, como tambm estes aspectos devero variar de acordo com o
equipamento utilizado; aqui citamos apenas as situaes mais comuns. &;-D
17/49
IV. CONFIGURAO
DE SUPORTE E PARMETROS
INTRODUO
Chegamos uma nova etapa para a realizao da compilao do kernel.
Trata-se da configurao de suporte e parmetros especficos para a
mquina o qual desejamos utilizar. Neste captulo, iremos conhecer os
principais utilitrios de configurao para o ajuste de parmentros do
kernel, alm de tecer breves comentrios sobre as principais categorias de
opes existentes, visto que ser praticamente invivel descrever item-aitem em virtude da sua imensa quantidade.
UTILITRIOS
DE CONFIGURAO
make xconfig;
make menuconfig;
make config.
18/49
19/49
Esta opo vista por muitos tcnicos experientes como espartana, pois
alm de ser a menos amigvel, infelizmente apresenta as opes de forma
seqencial, onde impossibilita alterar qualquer configurao realizada
previamente, ou seja, no existe a possibilidade de retornar para uma opo
anterior para corrigir. Outro grande inconveniente que, quando se utiliza
os demais utilitrios (menuconfig e xconfig), de acordo com tens
especficos que por ventura sejam desabilitados, suas sub-opes, exibidas
de forma identadas, ficam indisponveis, porm podemos visualiz-las; j
esta opo simplesmente pula estes tens, dos quais infelizmente sequer
poderemos ter noo do que deixamos para trs.
SOBRE
MDULOS:
QUANDO UTILIZAR?
AJUSTANDO
OS PARMETROS DE CONFIGURAO
CODE
21/49
LOADABLE MODULE
SUPPORT
PROCESSOR
GENERAL
SETUP
PARALLEL
PORT SUPPORT
PLUG
AND
PLAY CONFIGURATION
BLOCK
DEVICES
23/49
MULTI-DEVICE
SUPPORT
(RAID
AND
LVM)
NETWORKING
OPTIONS
TELEPHONY SUPPORT
A seo Telephony Support serve unicamente para habilitar aplicaes
especficas voz-sobre-IPs. No se enganem ao pensar que este recurso
ser necessrio para a configurao da Internet; podemos desabilit-lo sem
maiores preocupaes, se assim desejarmos.
ATA/IDE/MFM/RLL
SUPPORT
24/49
SCSI
SUPPORT
FUSION MPT
DEVICE SUPPORT
SUPPORT
(EXPERIMENTAL)
I2O
DEVICE SUPPORT
2
3
Estas consideraes so vlidas somente para o kernel 2.4. A verso 2.6 dispensa
o uso do recurso de emulao SCSI para o uso dessas unidades.
Isto era at antes do lanamento da verso 2.0 do barramento USB.
25/49
NETWORK
DEVICE SUPPORT
AMATEUR RADIO
SUPPORT
IRDA (INFRARED)
SUPPORT
ISDN
SUBSYSTEM
OLD CD-ROM
DRIVERS
(NOT SCSI,
NOT
IDE)
INPUT
CORE SUPPORT
CHARACTER
DEVICES
MULTIMEDIA DEVICES
Nesta seo encontraremos as opes Video for Linux e Radio Adapters,
para a habilitao de captura de vdeo e rdio amador respectivamente. Se
a estao de trabalho do usurio se encontra nesta categoria o que bem
raro , mantenha estas opes habilitadas.
FILE
SYSTEMS
CONSOLE
DRIVERS
Console drivers
VGA text console Suporte ao modo texto para a inicializao do sistema.
Video mode
Ajuste de diferentes modo de vdeo de acordo com as
selection support personalizaes do LILO.
SOUND
Suporte s tecnologias e recursos de udio em geral. No s ativaremos o
suporte do kernel determinadas placas de som como tambm seus
recursos, como suporte joystick, canais de udio, mdulos do projeto OSS,
etc. Recomendamos cuidados para a manipulao destas opes.
USB
SUPPORT
BLUETOOTH
SUPPORT
CRYPTOGRAPHIC
OPTIONS
KERNEL
HACKING
/ LIBRARY ROUTINES
28/49
SALVANDO
AS ALTERAES REALIZADAS
CONCLUSO
A grande maioria dos erros e complicaes que ocorrem durante e aps a
execuo deste processo encontra-se justamente na configurao de
suportes e parmetros do kernel. A omisso, a incorreta definio ou ainda
a utilizao de parmetros que vo alm do suportado pelo sistema trazem
diversos tipos de inconvenientes, como mau funcionamento, instabilidade,
travamentos, perdas de dados, entre diversas outras ocorrncias
indesejadas, alm da impossibilidade da inicializao do sistema.
Ao realizarem a criao do novo kernel, optem por realiz-las com calma,
tranqilidade e conscincia, as personalizaes necessrias sobre as
definies disponveis, reservando tambm o tempo necessrio para estas
atividades. Teremos menos aborrecimentos com a perda de alguns bons
minutos no desenvolvimento deste processo ter que realizar a restaurao
do sistema, pois de acordo com as anomalias apresentadas, este ltimo
processo poder ser bastante desgastante, no tendo ainda com isto pouco
ou nenhum ganho efetivo. Conforme diz o velho ditado, a pressa inimiga
da perfeio.... &;-D
29/49
V. A
COMPILAO
INTRODUO
Aps o trmino das operaes de ajustes e configurao das opes
disponveis do kernel, chegamos finalmente parte mais importante: a
realizao da compilao propriamente dita.
INICIANDO
A COMPILAO
... para que seja feito uma limpeza dos arquivos temporrios e de instalao
criados durante a compilao anterior. Apesar de opcional, recomendada
a sua utilizao, pois eliminar quaisquer resduos deixados por outras
compilaes, alm de ser uma operao bastante rpida.
CONSTRUINDO
OPO
AUTOMATIZADA
COMPILAO
SUPORTE
2.
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 20
EXTRAVERSION =
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
INICIANDO
A COMPILAO
AJUSTES
COPIANDO
NECESSRIOS
A IMAGEM DO KERNEL
32/49
# cd /
# mv /usr/src/linux/arch/i386/boot/bzImage
# mv bzImage vmlinuz-[VERSO_ATUAL]
Uma boa dica utilizar o formato [ANO-MS-DIA] (p. ex. 2003-31-01) como
padro, para um melhor controle. Muitos utilizam o formato [MS-ANO]
(jan-2003) ou [DIA-MS-ANO] (31-01-2003), mas ao visualiz-los em
qualquer gerenciador de arquivos, a tendncia que fique fora de ordem
cronolgica, podendo enganar os usurios mais despercebidos.
ALTERANDO
A CONFIGURAO DO
LILO
Basta apenas rodar o LILO para que sejam aceitas as alteraes efetuadas:
# lilo
Added
Linux *
[NOME_DO_KERNEL_PERSONALIZADO]
CONCLUSO
A realizao do processo de compilao, apesar da necessidade de ter
ateno alguns aspectos e outras intervenes necessrias, um processo
relativamente simples e fcil de gerenciar. O maior incmodo que
poderemos encontrar em sua realizao ser a possvel demora do
andamento do processo: a atividade poder demandar um certo tempo e,
dependendo da carga de processamento do computador, exigir bastante
da CPU, da memria, alm de um bom espao disponvel no disco rgido.
Estejam atentos nas ocorrncias e informaes exibidas na tela de vdeo,
pois a incidncia de erros e falhas durante a operao. Tendo em mo estes
dados, poderemos analisar uma depurao mais eficiente da ocorrncia
encontrada e assim corrigir e/ou encontrar a soluo desejada. Tendo todas
as opes de configurao ajustadas corretamente (no captulo
Configurao de suporte e parmetros), o desenrolar do processo seguir
sem maiores problemas. &;-D
34/49
VI. MANIPULAO
DE MDULOS E PENDNCIAS
INTRODUO
Os mdulos do kernel so componentes que auxiliam a interao do kernel
com os dispositivos do sistema. grosso modo, poderemos dizer que eles
nos sistemas GNU/Linux possuem funes eqivalentes aos drivers do
tradicional Windows. Neste captulo iremos conhecer as principais
ferramentas para a sua manipulao, bem como seus recursos e mtodos
de utilizao para o bom aprendizado e obter melhor aproveitamento nas
atividades de administrao e manuteno do kernel e respectivos mdulos.
AS
FERRAMENTAS...
LSMOD
Size
6752
9608
65536
96932
14724
23264
24560
58144
61288
9512
58400
3332
1352
1452
8048
Used by
Not tainted
0 (unused)
0 (unused)
0 (unused)
0
1
1 [lp parport_pc]
0 (unused)
1 [uhci]
0
0 [emu10k1]
1 [usb-storage uhci ehci-hcd]
4 [emu10k1]
0 (unused)
0 [emu10k1-gp]
0
Por possuir uma sintaxe bsica, sua sada tambm bastante simples, onde
ser apresentada uma listagem de todos os mdulos carregados no sistema.
MODPROBE
35/49
INSMOD
65536
58400
0
1
(unused)
[usb-storage uhci ehci-hcd]
Onde:
depmod
-a Checa as pendncias de mdulo necessrias pelo kernel.
-b Define o caminho de um mdulo especfico que no esteja armazenado
no diretrio padro (/lib/modules/[KERNEL]/ ).
-e Verifica se determinado mdulo compatvel com o kernel em uso.
36/49
Onde:
modinfo
-a Exibe o autor.
-d Exibe um breve resumo.
-l
Exibe a licena.
MANIPULAO
MANUAL
ARQUIVOS
DE CONFIGURAO
LOCALIZAO
72
432
592
656
112
528
264
2003-08-28
2003-09-02
2003-08-28
2003-09-02
2003-09-02
2003-08-28
2003-08-29
17:08
23:03
17:08
23:03
23:03
17:08
04:39
arch/
crypto/
drivers/
fs/
lib/
net/
sound/
SOBRE
O ARQUIVO
/ETC/RC.D/RC.MODULES
CONCLUSO
Os mdulos do kernel esto entre as maiores fontes de insucesso na
4
Para facilitar a nossa vida, encontra-se incluso no kernel uma grande quantidade
de mdulos pr-compilados para o suporte diversos perifricos, bastando apenas
descomentar as linhas referentes. Por sua vez, estas linhas esto subdivididas por
vrias sees, os quais facilitaro muito a nossa procura.
38/49
39/49
VII. CIRCUNSTNCIAS
ESPECIAIS
INTRODUO
Enfim, aps realizarmos todos os procedimentos necessrios para a
compilao do kernel, enganam-se queles que consideram que no h
mais nada fazer. Para provar isto, este captulo prope estudar os
necessrios e possveis ajustes para que seja garantido o perfeito
funcionamento do novo kernel customizado.
KERNEL
MANTENDO MLTIPLAS
root
root
root
40/49
EXTRAVERSION = Darkstar
root
root
APLICANDO
OS
42/49
COMPILAO
COMPILANDO
CONFIGURAO
RESTAURANDO
AS DEFINIES ANTERIORES
43/49
CONCLUSO
Alm da aplicao dos mtodos tradicionais de compilao do cdigo-fonte,
existiro muitas circunstncias especficas das quais a grande maioria dos
tutoriais existem no apresentam, ou apresentam informaes incompletas.
Nesta seo apenas abordamos as principais necessidades extraordinrias
referentes compilao do kernel. Caso existam outras circunstncias de
ocorrncia no rara, seremos gratos aos leitores em nos notificar para que
possamos disponibilizar nas prximas verses deste guia as instrues
necessrias para estes eventos. &;-D
44/49
VIII. PROBLEMAS
MAIS FREQENTES
INTRODUO
Enfim, chegamos mais uma (possvel) etapa (embora indesejada) do
processo de compilao do kernel. Trata-se do entendimento e soluo dos
problemas e questes mais freqentes referentes ao processo.
Infelizmente, em conseqncia de uma realizao incorreta das medidas e
intervenes necessrias para a customizao do novo kernel, poderemos
ter diversos inconvenientes que venham comprometer o uso do sistema
operacional. Nesta seo descreveremos as principais anomalias existentes
e algumas dicas para a solucion-las.
RESOLVENDO
PROBLEMAS...
ANTES...
PARMETROS
Felizmente sero apontadas as linhas das quais ocorrem o erro, onde uma
simples interveno corretiva com um editor de textos eliminar o
problema.
ERROS
Para evitar que este erro ocorra, deveremos nos certificar de todas as
pendncias necessrias para a compilao do kernel foram atendidas. Para
isto, consultem nesta parte o captulo Preparativos iniciais.
DURANTE...
FALHA
45/49
make dep
make clean
cp .config /root
make mpromper
make bzImage
make modules
make modules_install
DEPOIS...
O
SISTEMA NO INICIALIZA
Isto poder ocorrer por variados motivos; o mais freqente est justamente
na definio de parmetros do gerenciador de inicializao LILO.
Consultem a configurao do LILO e verifique na seo de parties os
parmetros existentes.
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda6
label = Linux
read-only
# Linux bootable partition config ends
"UNRESOLVED
SYMBOLS"
cd /usr/src/linux
make dep
make clean
nohup make bzImage &
tail -f nohup.out
make modules
make modules_install
46/49
KERNEL ENORME
Nestas situaes geralmente o kernel foi compilado com suporte uma
srie de drivers e parmetros desnecessrios. Ao realizarem a configurao
do kernel, procurem habilitar SOMENTE os recursos de dispositivos
suportados (ou que tero necessidade de suportar) pela mquina em uso.
Alm disso apenas definam as opes como Y (Yes embutido) apenas
aquelas essenciais e de uso constante do sistema. As demais devero ficar
como mdulos. Consultem nesta parte o captulo Configurao de suporte e
parmetros para maiores detalhes.
COMPORTAMENTO
ANORMAL DO KERNEL
ALGUMAS
RECOMENDAES
GERAIS
CONCLUSO
Dentre as possveis causas para diversas anomalias, a errnea definio de
parmetros durante o processo de configurao constitui a maior parte das
ocorrncia de erros durante o processo de compilao do kernel. Esse um
dos principais motivos pelo fato de recomendarmos no captulo anterior
a realizao dessas definies de configurao de forma tranqila.
Caso ocorra algum erro que impea do sistema funcionar ou acarrete o seu
mau funcionamento, inicialmente recomendamos checar o sistema para
descobrir o motivos que o causaram. Ser uma tima oportunidade de
aprendizado desvendar as origens do problemas. No tendo nada mais
fazer, uma boa pesquisa pela Internet ajudar. Caso ainda no consigam
resolver a questo, redijam uma mensagem para uma lista de discusso
especializada no assunto, contando os detalhes pormenores destas
ocorrncias. L com certeza encontraro apoio de outros usurios que
conhecem melhor este problema, onde os mesmos iro propor solues
para este inconveniente. &;-D
48/49
ENCERRAMENTO
<http://br.kernelnewbies.org/>.
Conforme podemos ver, foi dada uma ateno minuciosa para que este
captulo fosse desenvolvido com o objetivo de prover todas as informaes
possveis e necessrias para a realizao deste procedimento com
eficincia, segurana e riqueza de detalhes. Se por algum acaso existirem
informaes especficas e/ou especiais que no se encontrem aqui inclusas,
favor contacte-nos para que possamos atualiz-las.
A realizao de buscas pela Internet interessante e estimula o esprito de
investigao dos usurios, facilitando a assimilao de diversas
informaes. Ao nosso modo de ver, esta a opo mais recomendada. Este
livro foi escrito basicamente utilizando estes recursos: mescla de
conhecimentos adquiridos com consultas diversas endereos eletrnicos
especializados em sistemas GNU/Linux. Mas para dar um pontap inicial,
recomendamos uma visita ao endereo eletrnico abaixo relacionado. L
encontraremos dicas e informaes diversas que nos sero bastante teis.
O kernel dos sistemas GNU/Linux continua sendo ativamente desenvolvido
pela sua equipe, com o apoio de milhares de usurios entusiastas e
corporaes. Graas isto, poderemos contar mais adiante com melhorias
contnuas que por sua vez nos traro benefcios enormes de performance e
estabilidade do sistema. Se no presente o kernel atual nos encanta com
suas caractersticas e qualidades nicas, mal podemos esperar o que ele
nos reserva no futuro. &;-D
49/49