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.
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.
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.
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.
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.
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.
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.
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.
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
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.
[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
[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.
[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.
[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.
[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...
[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!
[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)