fonte do kernel que será compilado e informação do hardware da máquina que vai rodar o kernel
obs.: todos os passos do processo de compilação são feitos com o root
a página oficial do kernel é esta :
aqui o fonte do kernel 2.6.10 :
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2
para obter informação do hardware da máquina use o comando :
# lspci
no meu caso o resultado do lspci é este :
00:00.0 Host bridge: Intel Corp. 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
00:01.0 PCI bridge: Intel Corp. 82865G/PE/P PCI to AGP Controller (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB/ER Hub interface to PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corp. 82801EB/ER (ICH5/ICH5R) LPC Bridge (rev 02)
00:1f.1 IDE interface: Intel Corp. 82801EB/ER (ICH5/ICH5R) Ultra ATA 100 Storage Controller (rev 02)
00:1f.2 IDE interface: Intel Corp. 82801EB (ICH5) Serial ATA 150 Storage Controller (rev 02)
00:1f.3 SMBus: Intel Corp. 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3)
02:02.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
02:02.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
02:03.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
02:03.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 08)
02:04.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
a partir dessa listagem o usuário deve anotar o hardware que é efetivamente importante :
chipset da placa mãe :
00:00.0 Host bridge: Intel Corp. 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
00:01.0 PCI bridge: Intel Corp. 82865G/PE/P PCI to AGP Controller (rev 02)
placa de som :
02:03.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
placa de rede :
02:04.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
placa de tv :
02:02.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
02:02.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
obs.: a placa de vídeo não é “tão” importante porque o suporte a ela será feito pelos
drivers do X ou pelo driver do fabricante da placa , no meu caso :
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3)
é um gforce 4 (nvidia) , e eu instalo o driver da própria nvidia
Preparação do kernel
com o kernel previamente baixado , copie ele para a pasta /usr/src, estando no local onde ele foi baixado execute :
# cp linux-2.6.10.tar.bz2 /usr/src
então vá para a pasta /usr/src :
# cd /usr/src
descompacte o fonte do kernel :
# tar -xvjf linux-2.6.10.tar.bz2
apague o link simbólico “linux” existente na pasta /usr/src :
# rm linux
refaça o link simbólico :
# ln -s linux-2.6.10 linux
entre na pasta linux
# cd linux
resete as configurações do kernel :
# make mrproper
configurar os módulos do kernel :
# make menuconfig
Configuração do kernel
o processo de configuração do kernel é a parte mais importante antes da compilação, é nessa etapa que os dispositivos de hardware que o usuário tem , serão adicionados ao kernel.Eu recomendo definir as opções para cada dispositivo que o usuário tenha , de forma que fiquem embutidos no kernel (built-in)
É agora que o usuário precisa saber o que tem na máquina para poder saber o que ativar como “embutido” , como cada máquina é diferente uma da outra e a diversidade de hardware é imensa , é impossível fazer uma receita que sirva para todos , por isso eu coloquei abaixo a “minha receita” , onde eu mostro o nome da opção de configuração de cada ítem que eu alterei , com suas respectivas sub-opções mais importantes .Mas um detalhe importante: Essa “receita” é válida para a minha máquina , deve ser vista
como um exemplo de coisas que devem ser configuradas no kernel , não pode ser aplicada a outras máquinas …, cabe ao usuário verificar o que tem de hardware e configurar seus ítens nas opções do kernel
eventualmente será necessário “ver” todas as opções até achar a que é adequada para o seu
hardware …
Configuração do kernel
Loadable module suporte
ativar como embutido em :
Enable loadable module support
Module unloading
Automatic Kernel module loading
Processor type and features
Processor family
Pentium-4/Celeron/(P4-based)/Pentium-4 M/xeon (marcar o seu processador)
se tiver mais de 1GB de memória
High Memory Support
marcar 4GB
Device Drivers
Networking support
Networking options
Network packet filtering (marcar como embutido)
IP: Netfilter Configuration
IP tables support (marcar como embutido)
Ethernet (10 or 100Mbit)
3COM cards (marcar como embutido)
3c590/3c900 series (592/595/597) (marcar como embutido)
Input device support
Joystick interface (marcar como embutido)
Gameport support (marcar como embutido)
Character devices
Intel i865 chipset support (marcar como embutido)
I2C support
I2C support (marcar como embutido)
Multimedia devices
Video For Linux (marcar como embutido)
Video For Linux
BT848 Video For Linux (marcar como embutido)
Graphics support
Support for frame buffer devices
Support for frame buffer devices (marcar como embutido)
VGA 16-color graphics support (marcar como embutido)
VESA VGA graphics support (marcar como embutido)
Console display driver support
Video mode selection support (marcar como embutido)
Framebuffer Console support (marcar como embutido)
Select compiled-in fonts
VGA 8×8 font (marcar como embutido)
VGA 8×16 font (marcar como embutido)
Logo configuration
Bootup logo
marcar todos os ítens como embutidos
Sound
Sound card support (marcar como embutido)
Advanced Linux Sound Architecture (marcar como embutido)
Pci devices
Emu10k1 (SB Live!) (marcar como embutido)
File systems
Reiserfs support (marcar como embutido)
exit
salvar configuração do kernel (yes)
obs.: se voce tem uma placa de vídeo nvidia : não ative o suporte a nVidia Riva support
se ativar , o driver da nvidia não instala
Compilação do kernel
compilar imagem do kernel :
# make bzImage
copiar a imagem gerada para o /boot :
# cp arch/i386/boot/bzImage /boot/linux-2.6.10
compilar módulos do kernell :
# make modules
instalar módulos do kernel :
# make modules_install
Configuração do lilo
agora que o kernel está compilado e já na pasta /boot , é necessário configurar o lilo para que o novo kernel possa ser usado , mantendo o kernel original
execute :
# mcedit /etc/lilo.conf
e modifique o lilo adicionando uma entrada para o novo kernel :
image = /boot/Linux-2.6.10
root = /dev/hda6
label = Linux-2.6.10
read-only
essa entrada deve ser feita depois da entrada do kernel padrão , ficando assim :
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda6
label = Linux
read-only
image = /boot/Linux-2.6.10
root = /dev/hda6
label = Linux-2.6.10
read-only
# Linux bootable partition config ends
obs.: verifique a linha timeout = xxxx
coloque um valor alto para voce ter “tempo”
de escolher o kernel na hora do boot …
salve o arquivo (F2)
saia do mcedit (F10)
execute o comando lilo para reconfigurar o lilo :
# lilo
agora é só reiniciar a máquina , selecionar o kernel novo e testar …
:0)
agradecimentos ao MacGuyver do canal #gnulinux da brasnet por
seus comentários e considerações
Megatron , líder dos Decepticons
http://megatron.homelinux.org
megatron.lider.decepticon@gmail.com











