Compilação comentada do kernel

Este artigo traz uma abordagem bem detalhada sobre a compilação do kernel do Linux. Um enfoque maior foi dado à etapa de escolha dos módulos do kernel, onde a maioria dos itens foi detalhada.

[ Hits: 199.082 ]

Por: José Lopes em 27/10/2005 | Blog: https://lopes.id


Device drivers



8.1. Generic Driver Options
8.1.1. Prevent firmware from being built

Não permite a construção de firmware com a opção Y. Se não estiver certo, dê Y aqui.

8.1.2. Hotplug firmware loading support

Esta opção provê suporte para firmware de hotplug. Se usar dispositivos USB, marque M, senão, N.

8.2. Memory Tecnology Devices (MTD)
8.2.1. Memory Tecnology Device (MTD) support

Ativa o suporte a dispositivos de memória. Sugiro N. Se tiver um dispositivo deste tipo, marque Y e configure as opções que aparecerem.

8.3. Parallel port support
8.3.1. Parallel port support

Provê suporte à dispositivos conectados por meio de porta paralela, como impressora, ZIP drive e etc. Se você tiver algum dispositivo que use a porta paralela, marque esta opção com Y. Caso contrário, N.

8.3.1.1. PC-style hardware

Se marcou a anterior, marque esta com Y ou M. Se não tiver certeza, marque com Y.

8.3.1.1.1. Multi-IO (parallel and serial)

Adiciona suporte a placas multi-IO que têm portas paralelas e seriais. Sugiro marcar Y ou M.

8.3.2. IEEE 1284 transfer modes

Marque Y se sua impressora possui suporte ao status readback ou device ID. É seguro marcar N também.

8.4. Plug and Play support
8.4.1. Plug and Play support

Marque com Y se possui placas PnP ou N se não for o seu caso.

8.4.1.1. PnP Debug Messages

Marcando esta opção com Y, serão impressas mensagens sobre depuração do PnP. Sugiro N.

8.4.1.2. Protocols

-

8.4.1.3. ISA Plug and Play support

Marque Y se gostaria de ter suporte à placas ISA PnP. Se não possuir placas assim, marque N.

8.5. Block devices
8.5.1. Normal floppy disk support

Se você quer usar floppy disks (disquetes) marque com Y ou M. Recomendo Y. Se não for usar, marque N.

8.5.2. XT hard disk support

Controladoras muito antigas de discos rígidos usadas no IBM XT serão suportadas com Y ou M aqui. Se não for o seu caso, marque N.

8.5.3. Parallel port IDE device support

Se você tem drives externos de CD-Rom conectados pela porta paralela, marque Y ou M aqui. Se não for o seu caso, marque N.

8.5.4. Compaq SMART2 support

Este é o driver para controladoras Compaq Smart Array. Se você tem uma placa assim, marque Y. Senão, N.

8.5.5. Compaq Smart Array 5xxx support

Este é o driver para controladoras Compaq Smart Array 5xxx. Se você tem uma placa assim, marque Y aqui. Senão, N.

8.5.6. Mylex DAC960/DAC1100 PCI RAID Controller support

Se você tem uma Mylex DAC960, AcceleRAID ou eXtremeRAID PCI RAID, marque Y ou M aqui. Senão, N.

8.5.7. Loopback device support

Se você quiser suporte à dispositivos de loopback, marque Y ou M aqui. Senão, N. Para maiores informações, leia a ajuda deste tópico, mas a maioria dos usuários responderão N aqui.

8.5.8. Network block device support

Dizendo Y aqui, você estará permitindo ao seu PC ser um cliente para dispositivos de bloco de rede. Isto tem nada a ver com NFS ou Coda. Se estiver na dúvida, marque N.

8.5.9. Promise SATA SX8 support

Dizendo Y ou M aqui, você terá suporte completo à controladoras Promise SATA SX8. Se tiver uma assim, marque uma das opções citadas. Senão, N.

8.5.A. Low performance USB Block driver

Isto dá suporte a certos dispositivos USB como flash keys. Se estiver na dúvida, marque N.

8.5.B. RAM disk support

Dizendo Y ou M aqui, você estará disponibilizando uma porção de sua memória RAM como um dispositivo de bloco. A maioria dos usuários normais não precisam disso e podem marcar N aqui.

8.5.C. Initramfs source file(s)

Se você não usar Initramfs, deixe isto em branco. Se usar, leia a ajuda do tópico e faça sua escolha.

8.5.D. Support for Large Block Devices

Se você utilizar discos com mais de 2 TB (Terabytes) - como usuários de RAID ou de dispositivos Loopback, marque Y aqui. Senão, N.

8.5.E. Packet writing on CD/DVD media

Se você tem um gravador de CD/DVD, marque Y ou M aqui. Senão, N.

8.5.E.1. Free buffers for data gathering (NEW)

Controla o número máximo de pacotes correntes. Sugiro deixar igual a 8.

8.5.E.2. Enable write caching (NEW)

Opção nova para gravação de CDs. A própria ajuda sugere deixar como N. Se quiser arriscar, marque Y ou M.

8.5.F. IO Schedulers
8.5.F.1. Anticipatory I/O scheduler

Escalonador padrão de discos. Bom para a maioria dos casos marcar Y ou M aqui. Pode ser lento no carregamento de algumas bases de dados. Sugiro Y.

8.5.F.2. Deadline I/O scheduler

Escalonador simples e compacto. Sugiro Y.

8.5.F.3. CQF I/O scheduler

Bom para sistemas de desktop. Sugiro Y.

8.5.G. ATA over Ethernet support

Provê suporte para ATA além de dispositivos de bloco Ethernet. Se utilizar algo assim, marque Y ou M. Senão, N.

8.6. ATA/ATAPI/MFM/RLL support
8.6.1. ATA/ATAPI/MFM/RLL support

Dá suporte a dispositivos de armazenamento ATA/(E)IDE e ATAPI. Se usar algum dispositivo assim, marque Y. Senão, se usar dispositivos puramente SCSI, marque N. Se estiver na dúvida, marque Y.

8.6.1.1. Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

Se você tem drives IDE, diga Y ou M aqui. Se não tiver, marque N.

8.6.1.1.1. Support for SATA (deprecated; conflicts with libata SATA driver)

Inclui suporte à controladoras SATA antigas. Pode causar conflito se tiver uma mais nova. Se estiver na dúvida leia a documentação. Sugiro, assim como a ajuda, que na dúvida marque N.

8.6.1.1.2. Use old disk-only driver on primary interface

Provê suporte a discos IDE antigos. Se tiver um, marque esta opção com Y. Senão, marque com N.

8.6.1.1.3. Include IDE/ATA-2 DISK support

Se você tem um disco MFM/RLL/IDE e não há razão especial de usar o driver antigo, marque Y neste. Se tiver um disco puramente SCSI, marque N.

8.6.1.1.4. Use multi-mode by default

Se encontrar este erro diga Y aqui:

hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
hda: set_multmode: error=0x04 { DriverStatusError }

Se estiver em dúvida marque N.

8.6.1.1.5. Include IDE/ATAPI CDROM support

Se você tem um drive de CD-ROM usando o protocolo ATAPI, marque Y ou M aqui. Se este não for o seu caso, marque N.

8.6.1.1.6. Include IDE/ATAPI Floppy support

Se você tem um drive de disquete usando o protocolo ATAPI, marque Y ou M aqui. Senão, N.

8.6.1.1.7. SCSI emulation support

Antigas versões do kernel precisavam desta opção pra que uma gravadora IDE fosse configurada no Linux. A partir da versão 2.6, o kernel já suporta gravadoras IDE, então esta opção não é mais necessária então pode marcar N.

8.6.1.1.8. IDE Taskfile Access

Uma outra maneira de testar e validar o domínio do hardware. Se estiver um dúvida, marque N.

NOTA: As opções abaixo serão variadas e caberá a você marcar aquelas referentes ao seu hardware.

8.6.1.1.9. Other IDE chipset support

Dizendo Y aqui, você estará provendo suporte a vários chipsets de interfaces IDE. Se usar dispositivos IDE, marque Y aqui. Senão, N. Se selecionar Y, configure as próximas opções que aparecerão.

8.6.1.1.A. IGNORE word93 Validation BITS

Se você está presenciando problemas de compatibilidade ou performance, responda Y aqui. É normalmente seguro dizer Y aqui, mas o padrão é N.

8.7. SCSI device support

Se você tiver dispositivos SCSI, configure as opções apresentadas aqui.

8.8. Old CD-ROM drivers (not SCSI, not IDE)

Dispositivos muito antigos de CD-ROM, não SCSI e não IDE, podem ser configurados aqui. Marque a opção "Support non-SCSI/IDE/ATAPI CDROM drives" e configure as opções que aparecerão.

8.9. Multi-device support (RAID and LVM)

Se utilizar as tecnologias RAID ou LVM, marque a opção "Multiple devices driver support (RAID and LVM)" e configure as sub-opções que aparecerão.

8.A. Fusion MPT device support

Esta opção diz respeito à tecnologia LSI Logic Fusion(TM). Se utilizar isso, configure as opções daqui.

8.B. IEEE 1394 (FireWire) support

Se você utiliza dispositivos FireWire, configure as opções daqui, selecionando a opção "IEEE 1394 (FireWire) support" e configurando as opções subseqüentes.

8.C. I20 device support

Isto diz respeito à tecnologia Intelligent Input/Output (I20). Se utilizar esta tecnologia, configure as opções daqui.

8.D. Networking support
8.D.1. Networking support

Se você quiser ter suporte a qualquer tipo de rede, como Internet ou LANs, marque esta opção com Y.

8.D.2. Networking options

Aqui você configura os detalhes da sua rede de acesso. São opções diversificadas pra cada tipo de rede. Configure com atenção. Lembre-se de marcar opções TCP/IP se quiser ter acesso à Internet.

8.D.3. Amateur Radio support

Quem quer ter suporte à rádios amadores no Linux, pode marcar esta opção.

8.D.4. IrDA (infrared) subsystem support

Suporte à redes de infra-vermelho.

8.D.5. Bluetooth subsystem support

Suporte à redes Bluetooth.

8.D.6. Network device support

Se quiser ter seu PC conectado a alguma rede, marque Y nesta opção e configure as opções abaixo de acordo com o seu tipo de rede.

8.E. ISDN subsystem

Se for utilizar a tecnologia ISDN, marque a opção "ISDN support" com Y e configure as opções que seguirem.

8.F. Telephony Support

Se tiver uma placa de telefone (NÃO TEM NADA A VER COM MODEMS) e quiser usar a tecnologia VoIP, marque a opção "Linux telephony support" com Y.

8.G. Input device support
8.G.1. Provide legacy /dev/psaux device

Selecionando esta opção com Y, seu mouse poderá ser acessado como um dispositivo de caracteres. Se inseguro, marque Y.

8.G.2. Horizontal e Vertical screen resolution

Resolução de dispositivos gráficos como digitalizadores e a resolução do X Window para o mouse. Entre com os valores suportados pelos seus dispositivos. Sugiro 1024 e 768 respectivamente.

8.G.3. Joystick e Touchscreen interface

Se utilizar algum dos dispositivos, marque a opção que se encaixa a você.

8.G.4. Event interface

Opção para dispositivos de entrada serem acessíveis pelo dispositivo de caractere 13:64. Sugiro N.

8.G.5. Event debugging

Selecione esta opção para ter acesso à mensagens de erro de subsistemas de entrada como mouse, teclado e etc. Sugiro N.

8.G.6. Keyboards

Selecione esta opção com Y e numa lista de teclados especiais suportados, selecione o que se enquadra a você. Esta opção não afeta o kernel.

8.G.7. Mouse

Se usar um mouse, selecione esta opção e então selecione o seu tipo de mouse no menu que há dentro desta opção.

8.G.8. Joysticks e Touchscreens

Se tiver joystick ou tochscreen, selecione a opção correta e configure-a de acordo com o seu dispositivo.

8.G.9. Miscelaneous devices

Marque esta opção com Y e selecione no menu dentro dela o seu dispositivo especial não citado aqui a ser configurado.

8.G.A. Hardware I/O ports

Diga Y se você tem quaisquer dispositivos de entrada que usa porta serial de I/O para comunicar com o sistema. Se inseguro, marque Y.

8.H. Character devices

Selecione aqui o seu hardware compatível nas sub-opções este menu.

8.I. I2C support

I2C é um barramento serial lento e antigo usado em muitas controladoras Phillips. Se não for o seu caso, marque N.

8.J. Dallas's 1-wire bus

Se você possui dispositivos Dallas's 1-wire marque Y nesta opção e configure as subseqüentes.

8.K. Misc devices

-

8.L. Multimedia devices
8.L.1. Video For Linux

Se tiver uma placa de captura de áudio/vídeo, marque Y ou M aqui. Se não, N. Se marcou com Y ou M, selecione a sua placa nas opções que aparecerão.

8.L.2. DVB For Linux

Adiciona suporte ao hardware Digital Video Broadcasting. Se você tiver um hardware assim, marque esta opção com Y ou M. Se não possuir, marque esta opção com N.

8.M. Graphics support

Selecione aqui detalhes da sua placa de vídeo com Y ou M.

8.M.1. Console display driver support

Marque a opção "Video mode selection support" se quiser que o seu modo texto tenha uma resolução maior que o normal (800x600 ou 1024x768).

8.N. Sound

Selecione aqui detalhes da sua placa de som com Y ou M. Selecione a arquitetura: ALSA a mais usada e atual ou OSS mais obsoleta. Após selecionar isso, selecione detalhes da sua placa, como tipo (USB, PCI ou ISA), bem como o modelo dela (sugiro compilar o modelo como M).

8.O. USB support

Aqui você seleciona os dispositivos USB que possui. Leia as ajudas das opções com atenção e marque as referentes ao seu hardware.

8.P. MMC/SD Card support

Se o seu hardware tem suporte ao protocolo de barramento MMC, marque esta opção com Y e especifique o seu hardware.

8.Q. Infiniband support

Se o seu hardware tem suporte à InfiniBand, marque esta opção e especifique o seu hardware.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Pré-configuração
   3. Code maturity level options
   4. General setup
   5. Loadable module support
   6. Processor type and features
   7. Power management options (ACPI, APM)
   8. Bus options (PCI, PCMCIA, EISA, MCA, ISA)
   9. Executable file formats
   10. Device drivers
   11. File systems
   12. Compilando
   13. Conclusão
Outros artigos deste autor

Execução automática de comandos na inicialização do modo gráfico

Instalação e configuração do J2SE

Usando temas aleatórios no GDM

Permissões no Linux

Esquemas de particionamento e sistemas de arquivos

Leitura recomendada

Experimento com Linux: Misturando Sabayon com Gentoo

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

Ksplice - atualizando o kernel sem necessidade de reboot

Compilando Kernel 2.6.34 usando Debian Lenny

Slackware com kernel 2.6.10 - passo a passo

  
Comentários
[1] Comentário enviado por fernoliv em 27/10/2005 - 03:25h

Caro José, obrigado pelo excelente artigo e por sua dedicação em nos passar de forma minunciosa um tema que deixa muitos usuários com receio de alterar em suas distros padrão. É sempre bom utilizar um kernel mais novo pois há suporte a hardwares mais novos, além da correção de bugs encontrados em versões anteriores. É isso aí, agradeço pelo empenho, seu artigo está de parabéns!

Abraço, Fernando.

[2] Comentário enviado por Herr_Filip em 27/10/2005 - 08:42h

Ótimo trabalho! Parabéns!
Vai me ajudar muito teu texto!!

[3] Comentário enviado por astdarkness em 27/10/2005 - 13:16h

Eu estava procurando um guia com essa qualidade!
Obrigado e continue explorando ao máximo o kernel e escreva mais :-)

[4] Comentário enviado por ric.araujo em 27/10/2005 - 15:34h

Gostei muito do artigo, inclusive adicionei aos meus favoritos.
[]'s

[5] Comentário enviado por fenix_ap em 27/10/2005 - 17:38h

Rapaz vc esta de parabens!!!!!!!!!
Tenho certeza q esse artigo vai ajudar muita gente, incluse eu :)


[6] Comentário enviado por a.fernando em 28/10/2005 - 11:02h

Parabens pelo artigo

Conciso e completo.

Já compilei o kernel da minha distro algumas vezes, mas muitas coisas eram feitas as cegas, principalmente com relação a parte de módulos, mas com esse artigo posso afirmar que uma luz foi lançada sobre o assunto.

Valeu!

[7] Comentário enviado por PCMasterPB em 29/10/2005 - 15:50h

Um artigo bem completo e será muito útil aos que estão querendo entender algumas opções de configuração do kernel. Apenas queria lhe atentar para duas opções em especial:

Symmetric multi-processing support => Caso alguém use Pentium IV com HT (Hyper-Threading) e este estiver ativado é bom marcar isso com Y. Foi o meu caso.

High Memory Support (4GB) => aqui vc falou pra se marcar Y, porém não disse aonde, aqui tem três opções (off, 4G e 64G) e resumindo em miúdos, se vc tiver menos de 1G coloque off, entre 1G e 4G coloque 4G e se vc tiver mais de 4G (nossa!!!) coloque 64G.

PCMasterPB

[8] Comentário enviado por U-Neeks em 16/02/2006 - 20:38h

exelente artigo, parabens

[9] Comentário enviado por jbalestrim em 02/05/2007 - 19:49h

Parabens por esse excelente explicação se possivel se voce pudesse colocar mais detalhes ainda pra que ele fique ainda mais completo ainda e se torne um excelente referencia acima de todos ficariamos muito grato, isso nao significa que ja nao seja bom o suficiente, sao profissionais como voce que falta em nossa area pessoas que realmente tem o conhecimento e ajudam o melhor que pode nessa area so existe gratificações quando encontramos pessoas que nem voce e é um prazer em lhe dizer voce esta de parabens mas se puder complementar ainda mais deixar com mais riqueza no detalhes nossa seria mais fantastico do que é foi um prazer deixar esse elogio que isso sirva de exemplos a todos que se empenham ao maximo em ajudar os demais.

[10] Comentário enviado por forkd em 03/05/2007 - 14:16h

Primeiramente, obrigado pelos comentários à todos. Mais de 35000 hits nesse artigo eu, sinceramente, não esperava...
Ao amigo jbalestrim, adoraria continuar com este artigo, citando mais opções de compilação, atualizando-o para uma versão mais nova do Kernel ou até mesmo criando uma versão traduzida do Kernel (imagina poder ter todas as opções em português? Seria bom para muitos!). Infelizmente (ou felizmente) sou novo no meu emprego e estou concluindo minha pós-graduação (coincidências à parte, estou pra começar a estudar a disciplina KERNEL). Além disso tenho minha monografia para concluir, além de outros projetos pessoais... Por isso, estou sem tempo pra escrever artigos.
Contudo, há muitas pessoas nessa comunidade tão ou mais qualificadas do que eu para levar adiante este assunto. Fica a sugestão e o voto de incentivo.
Mais uma vez, obrigado por tudo!
Um grande abraço!

[11] Comentário enviado por kenshisk em 01/06/2007 - 01:15h

cara parabéns mesmo, esse concerteza vai para os meus favoritos, muito bem explicado, sou novo na comunidade linux e se tiver mais artigos como esse acho que vou acabar aprendendo alguma coisa. :-)
Abraços.

[12] Comentário enviado por GilsonDeElt em 30/12/2007 - 12:16h

Cara, esse artigo tá de +!!!
Há tempos procuro material assim
(é sério, tem quase um ano que tento achar algo assim, e como não achava, compilava o kernel meio às cegas mesmo)
Ainda não li tudo, pq tô arrumando uns trem aqui no meu PC
Mas pelo que já li, vi que tá tudo muito bem detalhado.
Vlww!!!

[13] Comentário enviado por dfreitas em 16/09/2008 - 15:20h

O artigo eh muito bom. Quais os módulos que tenho que habilitar para carregar a raiz no pendrive?

[14] Comentário enviado por juninho (rh.com) em 11/02/2009 - 12:37h

Parabéns, faltava mesmo algo assim na ajuda por compilar o Kernel.

[15] Comentário enviado por rômega em 11/03/2009 - 15:33h

Ótimo artigo, muito bom mesmo, parabéns =D

[16] Comentário enviado por smoldermox em 07/10/2009 - 15:04h

muito obrigado pelo artigo estava googlando estava ficando doido aki q nao achava nada sobre essas opçao ^^

[17] Comentário enviado por venito em 28/01/2010 - 14:09h

Parabéns!!! Muito bom mesmo seu artigo...

[18] Comentário enviado por thebestbr em 08/12/2010 - 14:45h

ola, sou novo na area

estou compilando mas segui um outro tutorial, que é parecido com o seu, ao compilar rodei o seguinte comando

rpmbuild -bb --without xen, smp, up, pae, kdump, debug --target=`uname -m` kernel.spec

utilizei este without pra compilar mais rapido, porem parece q ele esta tora hora repetindo a compilacao, qto tempo -+ demora uma compilacao? oq vc acha q estou fazendo d errado?

estou compilando somente para aprender e tentar colocar um driver q eu alterei, o evdev,

o site q eu segui o modo d compilacao eh este:
http://fedoraproject.org/wiki/Docs/CustomKernel#Get_the_Source

vlw

[19] Comentário enviado por removido em 30/12/2010 - 21:51h

muito mas muito bom parabens cara esta nos favoritos, valeu.

[20] Comentário enviado por dendriel em 20/08/2011 - 15:04h

Uma coisa que senti falta logo no começo (na verdade estou escrevendo o comentário enquanto avanço no tutorial) foi referências de pacotes que auxiliam na instalação do kernel. Tenho que interromper o tutorial e buscar soluções para estas faltas. ^^

Uma delas é a ncurses. #sudo apt-get install ncurses-dev (coloque assim, aqui instalou automaticamente o ncurses5-dev, acho eu). Ah, claro, acabei de formatar a máquina, então faltam umas coisas mesmo.

Deixo meus agradecimentos pelo post. Muito legal e tudo funcionou. Mesmo entendo no máximo 10% das opções que estava configurando, achei bastante interessante todo o processo. Obrigado por seu esforço!

Peace!

[21] Comentário enviado por nandow em 03/12/2011 - 13:38h

Exatamente o que eu estava procurando.

Parabéns.

Tá nos favoritos.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts