Handbook:Parts/Installation/Kernel/pt-br

Instalando os fontes
O núcleo em torno do qual todas as distribuições são criadas é o kernel Linux. Ele é a camada entre os programas de usuários e o hardware do sistema. O Gentoo provê aos seus usuários diversos possíveis fontes do kernel. Uma listagem completa está disponível na Página de visão geral do kernel.

Para sistemas baseados em o Gentoo recomenda o pacote.

Escolha um fonte do kernel apropriado e instale-o usando o :

Isso irá instalar os fontes do kernel Linux em no qual um link simbólico chamado  estará apontando para o fonte do kernel instalado:

É chegada a hora de configurar e compilar os fontes do kernel. Há duas formas de se fazer isso:


 * 1) O kernel é manualmente configurado e compilado, ou
 * 2) é usada uma ferramenta chamada   para automaticamente compilar e instalar o kernel Linux

Vamos explicar aqui a configuração manual como opção padrão por ser o melhor caminho para otimizar um ambiente.

Introdução
Configurar manualmente um kernel é geralmente visto como o procedimento mais difícil que um usuário Linux pode fazer. Nada mais falso -- depois de configurar algumas vezes o kernel ninguém irá se lembrar que era difícil.

Porém, uma coisa é verdade: é vital conhecer o sistema quando um kernel é configurado manualmente. A maioria das informações pode ser coletada fazendo emerge no que contém o comando :

Uma outra fonte de informação do sistema é executar o para ver quais módulos do kernel o CD de instalação usa pois isso pode dar dicas sobre o que habilitar.

Agora vá para o diretório dos fontes do kernel e execute. Isso irá mostrar uma tela de configuração baseada em menus.

A configuração do kernel do Linux tem muitas, muitas seções. Vamos primeiro mostrar algumas opções que devem ser ativadas (ou senão o Gentoo não irá funcionar, ou não funcionar adequadamente sem alguns ajustes). Existe também o Guia de configuração do kernel do Gentoo no wiki do Gentoo que poderá também ajudar.

Ativando as opções necessárias
Certifique-se de que todos os drivers que forem vitais para a inicialização do sistema (tais como controladores SCSI etc) são compilados no kernel e não como módulos, ou senão o sistema não será capaz de inicializar completamente.

Em seguida selecione o tipo exato do processador. É também recomendado habilitar os recursos MCE (se disponíveis) de modo que os usuários possam ser notificados sobre quaisquer problemas de hardware. Em algumas arquiteturas (tais como a x86_64), esses erros não são impressos pelo, mas em. Isso requer o pacote.

Selecione também Maintain a devtmpfs file system to mount at /dev assim os arquivos de dispositivos críticos estarão disponíveis logo durante o processo de inicialização ( CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT ):

Verifique se o suporte a discos SCSI foi ativado ( CONFIG_BLK_DEV_SD ):

Vá agora para File Systems (Sistemas de Arquivos) e selecione suporte para os sistemas de arquivos que você usa. Não compile o sistema de arquivo que é usado como sistema de arquivo raiz como módulo, ou senão o sistema Gentoo não será capaz de montar a partição. Selecione também "Virtual memory" (Memória virtual) e "/proc file system" (sistema de arquivo /proc). Selecione uma ou mais das seguintes opções segundo as necessidades do sistema: ( CONFIG_EXT2_FS, CONFIG_EXT3_FS , CONFIG_EXT4_FS , CONFIG_MSDOS_FS , CONFIG_VFAT_FS , CONFIG_PROC_FS , and CONFIG_TMPFS ):

Se for usado PPPoE para conectar à Internet, ou um modem com discagem foi usado, então habilite as seguintes opções ( CONFIG_PPP, CONFIG_PPP_ASYNC , e CONFIG_PPP_SYNC_TTY ):

As duas opções de compactação não vão atrapalhar mas definitivamente não são necessárias, assim como a opção de PPP sobre Ethernet (PPP over Ethernet), que pode apenas ser usada pelo ppp quando configurado para usar PPPoE em modo kernel.

Não se esqueça de incluir suporte no kernel para as placas de rede (ethernet ou sem fio).

A maioria dos sistemas tem múltiplos núcleos à disposição, então é importante ativar a opção "Symmetric multi-processing support" (suporte a multi-processamento simétrico) ( CONFIG_SMP ):

Se forem usados dispositivos de entrada USB (como teclado ou mouse) ou outros dispositivos USB, não se esqueça de habilitá-los também:

Opcional: Criando um initramfs
Em certos casos, é necessário construir um initramfs - um sistema inicial de arquivos em RAM. A razão mais comum é quando os locais importantes do sistema de arquivos (como ou ) estão em partições separadas. Com um initramfs, essas partições podem ser montadas usando as ferramentas disponíveis dentro do initramfs.

Sem um initramfs, há um enorme risco de o sistema não inicializar correctamente porque as ferramentas que são responsáveis pela montagem dos sistemas de arquivos precisam de informação que reside nesses sistemas de arquivos. Um initramfs irá puxar os arquivos necessários em um arquivo que é usado logo após o kernel inicializa, mas antes que o controle é entregue para a ferramenta de init. Os scripts do initramfs, então, certificam-se de que as partições estejam devidamente montadas antes do sistema continuar a inicialização.

Para instalar um initramfs, primeiramente instale o pacote, e em seguida, use-o para gerar um initramfs:

Para habilitar suporte para recursos específicos no initramfs tais como LVM ou RAID, adicione as opções apropriadas no. Veja para mais informação. No exemplo a seguir é habilitado o suporte para LVM e RAID por software :

O initramfs será armazenado em. O arquivo resultante pode ser encontrado listando os arquivos iniciando com "initramfs":

Continue agora com os Módulos do kernel

Alternativa: Usando o genkernel
Se a configuração manual parecer muito difícil, então é recomendado o uso do. Ele irá configurar e construir o kernel automaticamente.

O funciona configurando um kernel praticamente idêntico ao kernel do CD de instalação. Isso significa que quando o é usado para construir o kernel, o sistema geralmente irá detectar todo o hardware durante a inicialização, assim como o CD de instalação. Como o não necessita de nenhuma configuração manual, ele é a solução ideal para aqueles usuários que não se sintam confortáveis compilando seu próprio kernel.

Agora vamos ver como usar o genkernel. Primeiro faça emerge do pacote :

Depois, edite o arquivo de modo que a linha contendo o  como segundo campo tenha o primeiro campo apontando para o dispositivo correto. Se o exemplo de particionamento deste manual foi seguido, então o dispositivo é provavelmente o com o sistema de arquivo ext2. A linha completa se pareceria com:

Agora, compile os fontes do kernel executando. Note que, como compila um kernel com suporte para quase todo tipo de hardware, a compilação pode demorar para terminar!

Quando o genkernel terminar, estarão criados um kernel, um conjunto completo de módulos e um ramdisk inicial (initrd). Usaremos o kernel e o initrd quando configurarmos o gerenciador de boot mais tarde neste documento. Anote os nomes do kernel e do initrd pois essas informações são utilizadas quando o arquivo de configuração do gerenciador de boot for editado. O initrd será executado imediatamente após o boot para fazer a autodetecção de hardware (como no CD de instalação) antes do sistema "real" inicializar.

Configurando os módulos
List the modules that need to be loaded automatically in files one module per line. Extra options for the modules, if necessary, should be set in files.

Para visualizar todos os módulos disponíveis, execute o seguinte comando. Não se esqueça de substituir " " pela versão do kernel recém compilada:

For instance, to automatically load the module (which is the driver for a specific 3Com network card family), edit the  file and enter the module name in it. The actual file name is insignificant to the loader.

Continue a instalação em Configurando o sistema.

Opcional: Instalando firmware
Some drivers require additional firmware to be installed on the system before they work. This is often the case for network interfaces, especially wireless network interfaces. Also, modern video chips, from vendors like AMD, NVidia, and Intel when using open source drivers, often need external firmware files. Most of the firmware is packaged in :