Aviso :
Este documento não é válido e não é mais mantido.
|
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
7. Configurando o kernel
Conteúdo:
7.a. Fuso horário
Você deve primeiro selecionar seu fuso horário para que seu sistema saiba onde
está localizado. Procure seu fuso horário em /usr/share/zoneinfo,
então copie-o para /etc/localtime. Por favor evite as zonas de fuso
horário em /usr/share/zoneinfo/Etc/GMT*, já que seus nomes não
refletem as zonas esperadas. Por exemplo, GMT-8 é na verdade GMT+8.
Listagem de código 1.1: Configurando informação de fuso horário |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. Instalando as fontes
Escolhendo um kernel
O centro através do qual todas distribuições são construídas é o kernel do
Linux. Ele fica entre os programas de usuário e o hardware do sistema. O Gentoo
permite que seus usuários escolham dentro de uma variedade de fontes de kernel.
Uma lista completa com descrições pode ser encontrada no
Guia de Kernel do Gentoo.
Para sistemas baseados em x86 nós temos, entre outros kernéis,
vanilla-sources (a fonte de kernel padrão como desenvolvida pelos
desenvolvedor do kernel do Linux) gentoo-sources (fonte de kernel com
patches de melhoria de performance e funções), ...
Escolha sua fonte de kernel e instale-a usando o comando emerge.
USE="-doc" é necessário para evitar instalar xorg-x11 ou outras
dependências neste ponto. USE="symlink" não é necessário para uma nova
instalação, mas garante a criação correta do link simbólico
/usr/src/linux.
Listagem de código 2.1: Instalando uma fonte de kernel |
# USE="-doc symlink" emerge gentoo-sources
|
Quando você olhar em /usr/src você deve perceber um link simbólico
chamado linux apontando para a seu fonte do kernel. Neste caso, as
fontes de kernel instaladas apontam para gentoo-sources-2.6.12-r10. Sua
versão pode ser diferente, mantenha isto em mente.
Listagem de código 2.2: Vendo o link simbólico para a fonte do kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10
|
Agora está na hora de configurar e compilar sua fonte do kernel. Você pode usar
o comando genkernel para fazer isto, que irá construir um kernel genérico
parecido com o do CD de instalação. Iremos, porém, explicar a configuração
manual primeiro, já que é a melhor maneira de otimizar seu ambiente.
Se você quiser configurar seu kernel manualmente, continue agora com Padrão: Configuração manual. Se você quiser usar o comando
genkernel, você deve ler Alternativa: Usando o
genkernel.
7.c. Padrão: Configuração manual
Introdução
Configurar um kernel manualmente é freqüentemente tido como o procedimento mais
difícil que um usuário de Linux tem de fazer. Grande mentira -- depois de
configurar uns dois kernéis você nem lembrará que foi difícil ;)
No entanto, uma coisa é verdade: você deve conhecer seu sistema quando
você começar a configurar o kernel manualmente. A maior parte das informações
pode ser obtida instalando o pciutils (emerge pciutils), que contém o
lspci. Você poderá usar o lspci dentro do ambiente de chroot. Você
pode seguramente ignorar quaisquer avisos de pcilib (como pcilib: cannot
open /sys/bus/pci/devices) que o lspci der. Alternativamente, você pode
rodar lspci de um ambiente fora do chroot. Os resultados são os
mesmos. Você também pode rodar lsmod para quer ver módulos de kernel o CD
de Instalação usa (pode dar uma boa dica sobre o que ativar).
Agora vá para o diretório da fonte do kernel e execute make menuconfig.
Isto irá iniciar um menu de configuração baseado em ncurses.
Listagem de código 3.1: Rodando o menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Você verá várias seções de configuração. Iremos primeiro listar algumas opções
que você deve ativar (ou o Gentoo não irá funcionar, ou não irá funcionar sem
mudanças adicionais).
Ativando as opções necessárias
Antes de tudo, ative o uso de código/drivers em desenvolvimento e experimentais.
Você precisa disso, senão muito código/drivers importantes não irão aparecer:
Listagem de código 3.2: Selecionando código/drivers experimentais, General setup |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
|
Certifique-se de que todo driver que é vital no processo de inicialização de seu
sistema (como controlador SCSI, ...) está compilado no kernel e não como
módulo, caso contrário seu sistema não será capaz de inicializar completamente.
Agora escolha a família correta de processador:
Listagem de código 3.3: Selecionando a família correta de processador |
Processor type and features --->
(Athlon/Duron/K7) Processor family
|
Agora vá para File Systems e selecione suporte para o sistema de arquivos
que você usa. Não os compile como módulos, caso contrário seu sistema
Gentoo não será capaz de montar suas partições. Também selecione Virtual
memory e /proc file system. Se você estiver usando um kernel 2.4,
você precisa selecionar /dev file system já que kernéis 2.4 não suportam
udev.
Listagem de código 3.4: Selecionando sistemas de arquivos necessários |
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] automatically mount /dev at boot
[ ] /dev/pts file system for Unix98 PTYs
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
|
Se sua BIOS não puder lidar com discos rígidos grandes e você colocou jumpers
para relatar um tamanho limitado, você tem que ativar a seguinte opção para ter
acesso a seu disco inteiro:
Listagem de código 3.5: Selecionando suporte de redimensionamento de autogeometria |
ATA/IDE/MFM/RLL support --->
IDE, ATA and ATAPI Block devices --->
<*> Include IDE/ATA-2 DISK support
[ ] Use multi-mode by default
[*] Auto-Geometry Resizing support
|
Não se esqueça de ativar DMA para seus discos:
Listagem de código 3.6: Ativando DMA |
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
|
Se você estiver usando PPPoE para conectar à Internet ou estiver usando um modem
discado, você irá precisar das seguintes opções no kernel:
Listagem de código 3.7: Selecionando drivers necessários para PPPoE |
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
Device Drivers --->
Networking support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
As duas opções de compressão não fazem mal, mas não são absolutamente
necessárias, bem como a opção PPP over Ethernet, que somente pode ser
usada pelo comando rp-pppoe quando configurado para fazer PPPoE em modo
de kernel.
Se você precisar, não se esqueça de incluir suporte no kernel para sua placa de
rede.
Se você tiver uma CPU Intel que suporta HyperThreading (tm), ou tem um
sistema de várias CPUs, você deve ativar "Symmetric multi-processing support":
Listagem de código 3.8: Ativando suporte a SMP |
Processor type and features --->
[*] Symmetric multi-processing support
|
Se você usa dispositivos USB (como teclado ou mouse) não se esqueça de ativá-los
também:
Listagem de código 3.9: Ativando suporte a USB para dispositivos de entrada |
USB Support --->
<*> USB Human Interface Device (full HID) support
|
Usuários de laptop que querem suporte a PCMCIA não devem usar os drivers
de PCMCIA se escolherem usar um kernel 2.4. Drivers mais recentes estão
disponíveis através do pacote pcmcia-cs que será instalado depois.
Usuários de kernel 2.6, todavia, devem usar os drivers de PCMCIA do kernel.
Listagem de código 3.10: Ativando suporte a PCMCIA para kernéis 2.6 |
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
<*> 16-bit PCMCIA support
[*] 32-bit CardBus support
--- PC-card bridges
<*> CardBus yenta-compatible bridge support (NEW)
<*> Cirrus PD6729 compatible bridge support (NEW)
<*> i82092 compatible bridge support (NEW)
<*> i82365 compatible bridge support (NEW)
<*> Databook TCIC host bridge support (NEW)
|
Quando você terminar de configurar o kernel, continue com Compilando e instalando.
Compilando e instalando
Agora que seu kernel está configurado, está na hora de compilá-lo e instalá-lo.
Saia da configuração e comece o processo de compilação:
Listagem de código 3.11: Compilando o kernel |
# make dep && make bzImage modules modules_install
# make && make modules_install
|
Quando o kernel terminar de compilar, copie a imagem do kernel para
/boot. Use o nome que você achar mais adequado para sua escolha de
kernel e lembre-se dele, já que você irá precisar dele quando você for
configurar seu gerenciador de inicialização. Lembre-se de substituir
<versão-do-kernel> com o nome e versão de seu kernel.
Listagem de código 3.12: Instalando o kernel |
# cp arch/i386/boot/bzImage /boot/<versão-do-kernel>
|
Agora continue com Módulos do kernel.
7.d. Alternativa: Usando o genkernel
Se você estiver lendo esta seção, você escolheu usar nosso script
genkernel para configurar o kernel para você.
Agora que a árvore fonte de seu kernel está instalada, está na hora de compilar
seu kernel usando nosso script genkernel para construir um kernel
automaticamente para você. O genkernel funciona configurando um kernel
praticamente idêntico ao modo que nosso kernel do CD de instalação é
configurado. Isto significa que quando você usar o comando genkernel para
construir seu kernel, seu sistema irá geralmente detectar seu hardware na hora
da inicialização, como no CD de instalação. Dado que o genkernel não necessita
de nenhuma configuração manual, é uma solução ideal para aqueles usuários que
não se sentem confortáveis compilando seus próprios kernéis.
Agora vamos ver como usar o genkernel. Primeiro, faça emerge da ebuild do
genkernel:
Listagem de código 4.1: Instalando o genkernel |
# emerge genkernel
|
A seguir, se você for configurar um kernel 2.6, copie a configuração de kernel
usada no CD de instalação para o local onde o genkernel procura pela
configuração padrão de kernel:
Listagem de código 4.2: Copiando a configuração do kernel do CD de instalação |
# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
|
Agora, compile sua fonte de kernel rodando genkernel all. Esteja alerta,
entretanto, de que como o genkernel compila um kernel que suporta quase
todos hardwares, esta compilação irá demorar bastante para terminar!
Note que se sua partição de inicialização (boot) não usa ext2 ou ext3 como
sistema de arquivos você precisará configurar manualmente seu kernel usando o
comando genkernel --menuconfig all e adicionando suporte para seu
sistema de arquivos dentro do kernel (isto é, não como módulo).
Usuários de EVMS2 ou LVM2 devem adicionar --evms2 ou --lvm2 como
argumento também.
Listagem de código 4.3: Rodando o genkernel |
# genkernel all
|
Quando o genkernel terminar, um kernel, um conjunto completo de módulos
e um initial root disk (initrd) serão criados. Nós iremos usar o kernel e
o initrd quando formos configurar um gerenciador de inicialização numa parte
mais adiantada deste documento. Escreva os nomes do kernel e initrd, uma vez que
você irá precisar deles quando for escrever o arquivo de configuração do
gerenciador de inicialização. A initrd será iniciada imediatamente após a
inicialização para fazer a auto-detecção de hardware (igual ao CD de
instalação), antes de seu sistema "de verdade" iniciar.
Listagem de código 4.4: Verificando o nome da imagem de kernel criada e initrd |
# ls /boot/kernel* /boot/initramfs*
|
Agora, vamos fazer mais um passo para deixar nosso sistema mais parecido com o
CD de instalação -- vamos instalar o coldplug. Enquanto o initrd detecta
automaticamente hardware que é necessário para carregar seu sistema, o
coldplug detecta o resto. Para instalar e habilitar o coldplug,
digite o seguinte:
Listagem de código 4.5: Instalando e ativando o coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
7.e. Módulos do kernel
Configurando os módulos
Você deve listar os módulos que você quer carregar automaticamente em
/etc/modules.autoload.d/kernel-2.4 (ou kernel-2.6).
Você pode colocar opções adicionais aos módulos também se quiser.
Para ver todos módulos disponíveis, rode o seguinte comando usando o
find. Não se esqueça de substituir "<versão do kernel>" com a
versão do kernel que você acaba de compilar:
Listagem de código 5.1: Vendo todos módulos disponíveis |
# find /lib/modules/<versão do kernel>/ -type f -iname '*.o' -or -iname '*.ko'
|
Por exemplo, para carregar o módulo 3c59x.o automaticamente, edite o
arquivo kernel-2.4 ou kernel-2.6 e coloque o nome do
módulo nele.
Listagem de código 5.2: Editando o /etc/modules.autoload.d/kernel-2.4 |
# nano -w /etc/modules.autoload.d/kernel-2.4
|
Listagem de código 5.3: /etc/modules.autoload.d/kernel-2.4 ou kernel-2.6 |
3c59x
|
Continue a instalação com Configurando seu
sistema.
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
O conteúdo deste documento está licenciado pela licença Creative Commons -
Attribution / Share Alike.
|