Kernel 2.6 hacks

cvs

Neste artigo veremos como fazer para compilar e instalar o kernel 2.6 em seu Linux, porém o foco desse texto são dicas sobre como configurá-lo da melhor forma possível, aproveitando assim os recursos e benefícios que esse upgrade pode lhe proporcionar.

[ Hits: 39.678 ]

Por: Thiago Alves em 30/04/2004 | Blog: http://www.seeufosseopresidente.com.br


Obtendo e configurando



Essa parte é a básica de toda compilação, pegar o source, então como já deve saber, temos que baixar o source do kernel 2.6. Caso ainda não o tenha, vá em www.kernel.org e puxe a versão 2.6 que desejar.

# cd /usr/src/
# wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.3.tar.bz2
# tar jxvf linux-2.6.3.tar.bz2
# ln -s linux-2.6.3 linux
# cd linux
# make xconfig


NOTA: ao invés de "make xconfig" pode-se também usar a opção "menuconfig", que serve para quem não está no modo gráfico do Linux.

Algumas dicas de configuração


Essas dicas são as coisas que acho ideal e de melhor utilidade, isso não quer dizer que eu esteja correto e que dessa forma seja a melhor forma para se fazer.
  1. Code maturity level options --->
    [*] Prompt for development and/or incomplete code/drivers


    Coloque como built-in, assim como as opções que vão aparecer abaixo quando for ativado. Isso vai liberar outra opções no kernel para que sejam configurados.

  2. Processor type and features --->
    Processor family (Pentium-4/Celeron(P4-based)/Xeon) --->

    Selecione o processador de acordo com o usado na máquina


    [ ] Symmetric multi-processing support
    Ativado isso apenas se sua máquina for multi-processada, ou seja, tiver mais de um processador.

  3. Device Drivers --->
    Aqui você vai achar a maioria das opções de configuração do kernel. Se você usa emulação de SCSI pra gravar CDs, então faça o seguinte. Em:
    SCSI device support --->
    Ative as seguintes opções:

    <*> SCSI CDROM support
    <*> SCSI generic support


    Volte no menu anterior e agora entre em:

    ATA/ATAPI/MFM/RLL support --->

    E selecione a seguinte opção:

    <*> SCSI emulation support

    Agora sim, sua gravadora irá funcionar.

  4. Habilitar o módulo da placa de vídeo:

    Character devices --->

    Basta ir passando as opções e habilitar a sua placa de vídeo. O frame buffer é na opção:

    Graphics support --->
    [*] Support for frame buffer devices


    Habilite esse opção, selecione sua placa de vídeo e também selecione a opção VESA:

    [*] VESA VGA graphics support (NEW)

    Selecione também em:

    Console display driver support --->
    [*] Video mode selection support


    E também:

    <*> Framebuffer Console support

    Não selecione a opção que abrir quando você o habilitar. Pra colocar aquele logo na hora do boot do Linux, você pode escolher em:

    Logo configuration --->

    Selecionando a opção que desejar.

  5. Para selecionar o módulo de sua placa de som, vá na opção:

    Sound --->

    Advanced Linux Sound Architecture --->
    Aqui estão os módulos novos, com novas formas de tratar o som, talvez usando esses módulos sua placa de som funcione bem melhor.

    Open Sound System --->
    Esse sistema possui os módulos que funcionam no kernel 2.4 e como está escrito, lá está depreciado, ou seja, antigo e velho, mas ainda sim funciona.

    Agora depende de você escolher qual usar, desde que desabilite um e use outro e não usar os dois ao mesmo tempo.

  6. Caso você use o sistema de arquivos ReiserFS na sua máquina, vai precisar ir no menu:

    File systems --->

    E selecionar o módulo para ReiserFS como built-in pra ser carregado no boot.

    Se você possui uma partição NTFS na máquina também será necessário habilitar os módulos para que possa montar ela. No menu Filesystem, vá em:

    DOS/FAT/NT Filesystems --->

    Selecione:

    <*> NTFS file system support

  7. No menu:

    Kernel hacking --->

    Pode desabilitar tudo que estiver habilitado, isso vai deixar a máquina um pouco mais rápida :-)

As outras opções que restam são coisas que não são tão importantes, mas merecem ser olhadas também. Veja os helps que elas proporcionam. Esse kernel 2.6 tem várias facilidades e muitas outras opções além da versão 2.4, recomendo dar uma l ida no diretório Documentation que fica dentro de /usr/src/linux.

Pronto, feita a configuração, saia e salve a configuração.

    Próxima página

Páginas do artigo
   1. Obtendo e configurando
   2. Compilação e boot
   3. Pacotes necessários para essa versão
   4. Nota final
Outros artigos deste autor

Instalação do CentOS 5.3

Compilando o Apache 2 com PHP e MySQL

Samba + clamav - compartilhamento livre de vírus

Servidor web com CentOS + Apache

Tornando o OpenBSD stable

Leitura recomendada

Fazendo seu Linux hibernar

Kernel Hacking (RootKits)

As incríveis aventuras de um RedHat 9 migrando para kernel 2.6

Recompilando o kernel na distribuição Debian

Compilar kernel em distros baseadas em Debian

  
Comentários
[1] Comentário enviado por _simmons_ em 30/04/2004 - 12:31h

Parabéns cvs, o artigo ficou nota 10. Sem frescuras, rápido e de acordo com o que foi proposto! Abraços,

André Michi

[2] Comentário enviado por ygorth em 30/04/2004 - 14:10h

Bem legal o artigo CVS tava precisando mesmo. (:

[3] Comentário enviado por wfelipe em 01/05/2004 - 17:53h

no item 3, voce diz ser preciso emulacao scsi para poder utilizar sua gravadora, o que no 2.6 nao eh mais preciso, pois no 2.6 consegue gravar direto pela IDE

cdrecord dev=ATAPI -scanbus

e voce tera sua gravadora, diretamente do IDE

[4] Comentário enviado por cvs em 01/05/2004 - 18:13h

Sim... exatamente wfelipe, mas fiz testes aqui no meu pc e constatei com a gravação usando o ATAPI fica muito lento o computador, assim como fica no windows, logo acho melhor usar emulação de scsi onde mesmo gravando eu poderei usar outras coisas, como ouvir música e navegar.
Agora não sei como ficaria nos outros pcs, ENTAO, preferi colocar a emulação de scsi.

Obrigado pelos elogios :P

[5] Comentário enviado por jllucca em 01/05/2004 - 20:27h

Opa,

Depois de ler esse maravilhoso artigo fiquei intrigado agora do porque o nome é "kernel 2.6 hacks" visto que "hacking kernel"(ou termo parecido) é geralmente usado para alterações nele direto no fonte.

[]'s

[6] Comentário enviado por cvs em 01/05/2004 - 21:39h

"maravilhoso" heheh tirou onda.. hehehe

Bem, algo mais de marketing :P

[7] Comentário enviado por fabio em 01/05/2004 - 23:12h

Ricardo,

O inglês possui bem menos palavras que o português, logo uma palavra em inglês geralmente tem vários significados dependendo de onde ela foi empregada. No caso desse artigo, "Kernel Hacks" por ser traduzido (se é que pode) para "Truques/ou Dicas misteriosas/ do Kernel". Aqui ela foi introduzida da mesma forma que no livro best seller "Google Hacks", que é um livro que traz dicas cruéis sobre como detonar em suas pesquisas no Google.

[]'s

[8] Comentário enviado por lindbergluiz em 02/05/2004 - 00:15h

chega de configura;óes...ta tudo muito bom com o 2.4.22....quando eu tiver com paciencia pra configurar o que depender de mim, eu o farei...e seu artigo me servira de base...

[9] Comentário enviado por eu05 em 02/05/2004 - 21:22h

Muito bom vale apena conferir, eu tava com umas duvidas e com isso tirou, valeu!!!!!!!!!!!!!1

[10] Comentário enviado por edu_rodrigues em 08/05/2004 - 14:42h

Bom... é a primeira vez que eu compilo e configuro o kernel do linux, e eu gostaria de saber qual a diferença entre marcar a opção em Built-In e Módulo. Sei que pode parecer uma pergunta simples, mas eu gostaria de saber a diferença e tenho certeza de que alguém pode ter a mesma dúvida. Obrigado!

[11] Comentário enviado por edmafer em 12/11/2004 - 13:43h

Graças ao seu artigo, e também o do amigo:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1226,

e claro também algumas informações extras adquiridas durante as tentativas (foram 19)

Hoje, eu consegui executar o meu primeiro Kernel.

Deêm uma olhada neste outro artigo, e também no make help que vai ajudar bastante vocês.

[]'s

A todos

[12] Comentário enviado por pogo em 21/12/2004 - 13:22h

ótimo artigo.... embora eu já tenha compilado o kernel com sucesso, o texto me mostrou algumas dicas que eu não sabia e que vão melhorar o meu kernel.... ótimo!

[13] Comentário enviado por eu_mauro em 31/10/2005 - 15:55h

olá,
eu estou com um pequeno problema na hora do make xconfig, não consigo compilar e da o seguinte:

[root@lab00 linux]# make xconfig
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c:105:23: sys/types.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:106:22: sys/stat.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:107:22: sys/mman.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:108:20: unistd.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:109:19: fcntl.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:110:20: string.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:111:20: stdlib.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:112:19: stdio.h: Arquivo ou diretório não encontrado
In file included from /usr/lib/gcc-lib/i386-conectiva-linux/3.3.3/include/syslimits.h:7,
from /usr/lib/gcc-lib/i386-conectiva-linux/3.3.3/include/limits.h:11,
from scripts/basic/fixdep.c:113:
/usr/lib/gcc-lib/i386-conectiva-linux/3.3.3/include/limits.h:122:75: limits.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:114:19: ctype.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:115:23: arpa/inet.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c: In function `usage':
scripts/basic/fixdep.c:129: warning: implicit declaration of function `fprintf'
scripts/basic/fixdep.c:129: error: `stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:129: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:129: error: for each function it appears in.)
scripts/basic/fixdep.c:130: warning: implicit declaration of function `exit'
scripts/basic/fixdep.c: In function `print_cmdline':
scripts/basic/fixdep.c:135: warning: implicit declaration of function `printf'
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:138: error: `NULL' undeclared here (not in a function)
scripts/basic/fixdep.c: In function `grow_config':
scripts/basic/fixdep.c:151: warning: implicit declaration of function `realloc'
scripts/basic/fixdep.c:151: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:152: error: `NULL' undeclared (first use in this function)
scripts/basic/fixdep.c:153: warning: implicit declaration of function `perror'
scripts/basic/fixdep.c: In function `is_defined_config':
scripts/basic/fixdep.c:169: warning: implicit declaration of function `memcmp'
scripts/basic/fixdep.c: In function `define_config':
scripts/basic/fixdep.c:182: warning: implicit declaration of function `memcpy'
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:215: warning: implicit declaration of function `tolower'
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:220: error: parse error before "size_t"
scripts/basic/fixdep.c:221: warning: function declaration isn't a prototype
scripts/basic/fixdep.c: In function `parse_config_file':
scripts/basic/fixdep.c:222: error: `map' undeclared (first use in this function)
scripts/basic/fixdep.c:222: error: `len' undeclared (first use in this function)
scripts/basic/fixdep.c:228: warning: implicit declaration of function `ntohl'
scripts/basic/fixdep.c:239: warning: implicit declaration of function `isalnum'
scripts/basic/fixdep.c: In function `strrcmp':
scripts/basic/fixdep.c:252: warning: implicit declaration of function `strlen'
scripts/basic/fixdep.c: In function `do_config_file':
scripts/basic/fixdep.c:263: error: storage size of `st' isn't known
scripts/basic/fixdep.c:267: warning: implicit declaration of function `open'
scripts/basic/fixdep.c:267: error: `O_RDONLY' undeclared (first use in this function)
scripts/basic/fixdep.c:269: error: `stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:273: warning: implicit declaration of function `fstat'
scripts/basic/fixdep.c:275: warning: implicit declaration of function `close'
scripts/basic/fixdep.c:278: warning: implicit declaration of function `mmap'
scripts/basic/fixdep.c:278: error: `NULL' undeclared (first use in this function)
scripts/basic/fixdep.c:278: error: `PROT_READ' undeclared (first use in this function)
scripts/basic/fixdep.c:278: error: `MAP_PRIVATE' undeclared (first use in this function)
scripts/basic/fixdep.c:278: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:287: warning: implicit declaration of function `munmap'
scripts/basic/fixdep.c:263: warning: unused variable `st'
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:292: error: parse error before "size_t"
scripts/basic/fixdep.c:293: warning: function declaration isn't a prototype
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:294: error: `map' undeclared (first use in this function)
scripts/basic/fixdep.c:295: error: `len' undeclared (first use in this function)
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:299: warning: implicit declaration of function `strchr'
scripts/basic/fixdep.c:301: error: `stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
scripts/basic/fixdep.c: In function `print_deps':
scripts/basic/fixdep.c:334: error: storage size of `st' isn't known
scripts/basic/fixdep.c:338: error: `O_RDONLY' undeclared (first use in this function)
scripts/basic/fixdep.c:340: error: `stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:350: error: `NULL' undeclared (first use in this function)
scripts/basic/fixdep.c:350: error: `PROT_READ' undeclared (first use in this function)
scripts/basic/fixdep.c:350: error: `MAP_PRIVATE' undeclared (first use in this function)
scripts/basic/fixdep.c:350: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:334: warning: unused variable `st'
scripts/basic/fixdep.c: In function `traps':
scripts/basic/fixdep.c:369: error: `stderr' undeclared (first use in this function)
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2

estou tentando instalar a versão 2.6.13.4, mas acho q o meu problema é no make mesmo. Se alguem puder me ajudar, por favor responda...valeww

[14] Comentário enviado por fabri em 15/06/2007 - 06:44h

Cara foi facil, fiz segui seu tuto, e apos o reboot meu kde 356 ficou lentissimo, no reboot quase 40s aquele icone saltante no inicio fica parecendo bailarina em slowmouch, abaixo segue meu lspci, onde gosstaria de um sugestao de onde deveria fazer as modificacoes nessessarias para obter um kde pos recompilacao mais rapido, ficaria muito grato, meu kernel e o 2.6.22, kernel 3.5.6 slack 11....................
/home/fabri# lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 645xx (rev 03)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)
00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91)
00:09.0 Multimedia audio controller: Cirrus Logic Crystal CS4281 PCI Audio (rev 01)
00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
00:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
00:0c.0 Ethernet controller: Marvell Technology Group Ltd. 88w8335 [Libertas] 802.11b/g Wireless (rev 03)
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200] (rev 01)
01:00.1 Display controller: ATI Technologies Inc Unknown device 5942 (rev 01)

[15] Comentário enviado por gpr.ppg.br em 18/07/2010 - 10:34h


estou compilando o kernel
mas estou com uma duvida.

# make menuconfig
O configurador com
os parâmetros do kernel surgirá.

e na parte de escolher o processador:
Processor type and features --->

tem uma lista
mas o meu não aparece.

tenho dois processadores
são eles:
turion64
turion64 x2

qual seria os relativos
na relação do kernel
que devo escolher?


antecipadamente agradeço,
gpr.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts