Aviso :
Este manual foi substituído por uma versão mais nova 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 faça um link simbólico para /etc/localtime usando o comando
ln:
Listagem de código 1.1: Configurando informação de fuso horário |
# ls /usr/share/zoneinfo
# ln -sf /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 alpha nós temos as vanilla-sources (fontes
padrão de kernel 2.6).
Escolha sua fonte de kernel e instale-a usando o comando emerge.
No próximo exemplo iremos instalar as vanilla-sources.
Substitua de acordo com sua escolha de fontes, isto é meramente um exemplo:
Listagem de código 2.1: Instalando uma fonte de kernel |
# emerge vanilla-sources
|
Quando você olhar em /usr/src você deve ver um link simbólico
chamado linux apontando para a fonte do kernel:
Listagem de código 2.2: Vendo o link simbólico da fonte do kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.11.2
|
Se este não for o caso (isto é, o link simbólico apontar para uma fonte de
kernel diferente) mude o link simbólico antes de continuar:
Listagem de código 2.3: Mudando o link simbólico da fonte do kernel |
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.11.2 linux
|
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. Você pode rodar lsmod
para ver que módulos 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
|
Agora vá para File Systems e selecione suporte para os sistemas de
arquivos que você usa. Não os compile como módulos, senão seu sistema
Gentoo não será capaz de montar sua partições. Também selecione Virtual
memory, /proc file system, (/dev file system +
Automatically mount at boot só para um kernel 2.4):
Listagem de código 3.3: 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 at boot
[ ] /dev/pts file system for Unix98 PTYs
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[ ] /dev file system support (OBSOLETE)
[*] 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 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.4: 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.
As seguintes opções também são recomendadas:
Listagem de código 3.5: Opções recomendadas para Alpha |
General setup --->
<*> SRM environment through procfs
<*> Configure uac policy via sysctl
Plug and Play configuration --->
<*> Plug and Play support
<M> ISA Plug and Play support
SCSI support --->
SCSI low-level drivers --->
<*> SYM53C8XX Version 2 SCSI support (NEW)
<*> Qlogic ISP SCSI support
Network device support --->
Ethernet (10 or 100 Mbit) --->
<M> DECchip Tulip (dc21x4x) PCI support
<M> Generic DECchip & DIGITAL EtherWORKS PCI/EISA
<M> EtherExpressPro/100 support (eepro100)
<M> EtherExpressPro/100 support (e100)
Ethernet (1000 Mbit) --->
<M> Alteon AceNIC
[*] Omit support for old Tigon I
<M> Broadcom Tigon3
[*] FDDI driver support
<M> Digital DEFEA and DEFPA
<*> PPP support
<*> PPP Deflate compression
Character devices --->
[*] Support for console on serial port
[*] Direct Rendering Manager
File systems --->
<*> Kernel automounter version 4 support
Network File Systems --->
<*> NFS
[*] NFSv3 client
<*> NFS server
[*] NFSv3 server
Partition Types --->
[*] Advanced partition selection
[*] Alpha OSF partition support
Native Language Support
<*> NLS ISO 8859-1
Sound --->
<M> Sound card support
<M> OSS sound modules
[*] Verbose initialisation
[*] Persistent DMA buffers
<M> 100% Sound Blaster compatibles
|
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.6: Compilando o kernel |
# make dep && make vmlinux modules modules_install
# make && make modules_install
# make boot
|
Quando o kernel terminar de compilar, copie a imagem do kernel para
/boot. No próximo exemplo iremos presumir que você configurou e
compilou o vanilla-sources-2.6.11.2; kernéis recentes podem criar
vmlinux ao invés de vmlinux.gz.
Listagem de código 3.7: Instalando o kernel |
# cp arch/alpha/boot/vmlinux.gz /boot/
# cp System.map /boot/System.map-2.6.11.2
|
Também é sábio copiar o seu arquivo de configuração do kernel para
/boot, caso você precise :)
Listagem de código 3.8: Copiando sua configuração de kernel |
# cp .config /boot/config-2.6.11.2
|
Agora continue com Instalando módulos de kernel
avulsos.
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
|
Agora, compile suas fontes 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).
Listagem de código 4.2: Rodando o genkernel |
# genkernel all
GenKernel v3.0.1_beta10
* ARCH: Alpha
* KERNEL VER: 2.6.11.2
* kernel: configuring source
* kernel: running mrproper
* Kernel compiled successfully!
* Required Kernel Params:
* : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT
* where $ROOT is the devicenode for your root partition as
* you should have specified in /etc/fstab
*
* You MUST tell your bootloader to use the generated initrd
*
* Recommended Kernel Params:
* : vga=0x317 splash=verbose
*
* Do NOT report kernel bugs (configs included) as genkernel bugs.
* Make sure you have the latest genkernel before reporting bugs
*
* For more info see /usr/share/genkernel/README
|
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.3: Verificando o nome da imagem de kernel criada e initrd |
# ls /boot/kernel* /boot/initrd*
|
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.4: Instalando e habilitando o coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
7.e. Instalando módulos de kernel avulsos
Instalando módulos adicionais
Se adequado, você deve instalar ebuilds para hardware adicional que está
disponível em seu sistema. Aqui segue uma lista de ebuilds relacionadas a kernel
de que você pode fazer emerge:
| Ebuild |
Propósito |
Comando |
| x11-drm |
Aceleração gráfica para ATI Radeon até 9200, Rage128, Matrox, Voodoo e
outras placas para xorg-x11. Por favor veja a variável
IUSE_VIDEO_CARDS nas ebuilds em
/usr/portage/x11-base/x11-drm para ver o que você deve colocar
no lugar de suaplaca.
|
VIDEO_CARDS="suaplaca" emerge x11-drm |
Esteja avisado, entretanto, de que algumas dessas ebuilds podem lidar com
grandes dependências. Para verificar que pacotes serão instalados ao fazer
emerge de uma ebuild, use emerge --pretend. Por exemplo, para o pacote
x11-drm:
Listagem de código 5.1: Ver lista completa de pacotes a serem instalados |
# emerge --pretend x11-drm
|
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.2: Vendo todos módulos disponíveis |
# find /lib/modules/<versão do kernel>/ -type f -iname '*.o' -ou -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.3: Editando o /etc/modules.autoload.d/kernel-2.4 |
# nano -w /etc/modules.autoload.d/kernel-2.4
|
Listagem de código 5.4: /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.
|