Kernel
O kernel do Linux é o núcleo do sistema operacional e oferece uma interface para os programas acessarem o hardware. O kernel contém a maioria dos drivers de dispositivos.
Embora o Gentoo seja um sistema operacional livre baseado em Linux ou FreeBSD tem seu próprio kernel, por razões práticas, este artigo refere-se ao kernel Linux.
See also the handbook on installing and setting up a kernel.
Which kernel to install?
Gentoo provides a choice of methods to get a kernel up and running, from a standard binary kernel as would be supplied by most distributions to a custom configured and compiled kernel.
When starting out, the gentoo-kernel-bin provides a quick and easy way to get a kernel up and running, while still providing a light, high performance kernel (just like any modern distribution would). Once a system is installed and functioning correctly, a different kernel may be selected if needed. The sys-kernel/gentoo-kernel-bin can be kept around in case of issues booting a custom kernel.
gentoo-sources
When manually compiling kernel sources or using Genkernel to automate some of the process, Gentoo recommends the sys-kernel/gentoo-sources package for most users. Its stable versions follow the long term stable (LTS) kernels from upstream kernel.org.
Distribution kernels
The distribution kernel project provides packages to install and manage kernels through Portage. These kernels are compiled (if needed) and installed with just an emerge command like any other package, which can lessen the administrative burden. Kernel updates are performed when updating the system (i.e., emerge -avuDN @world), and the only manual step is to have the bootloader use the new kernel.
These kernels come with a default configuration that should "just work" for most systems. For users not interested in configuring their own kernel from scratch, these kernels can get things up and running quicker:
gentoo-kernel
The sys-kernel/gentoo-kernel package provides a kernel that will be compiled and installed when the package is emerged. This comes with a default configuration that should work out of the box on most systems, but allows customization if desired.
gentoo-kernel-bin
The sys-kernel/gentoo-kernel-bin is a binary package containing a precompiled kernel, allowing for faster installation. This package is a precompiled version of the gentoo-kernel package with a default configuration.
Since the gentoo-kernel* packages automate the configuration and compilation process - independently from the usual, manual way of compiling and installing kernels - the rest of this article concerns installation using the sys-kernel/gentoo-sources package. See the distribution kernel project for further information on distribution kernels
Instalação
Para criar um kernel, primeiro é necessário instalar o código fonte do kernel. A fonte do kernel recomendado pelo Gentoo para um sistema desktop é, naturalmente, sys-kernel/gentoo-sources. Estes são mantidos pelos desenvolvedores do Gentoo e com patches para corrigir vulnerabilidades de segurança, problemas funcionais bem como para melhorar a compatibilidade com arquiteturas de sistemas raros.
USE flags
USE flags for sys-kernel/gentoo-sources Full sources including the Gentoo patchset for the 6.12 kernel tree
build
|
!!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping [make stage1] |
experimental
|
Apply experimental patches; for more information, see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental". |
symlink
|
Force kernel ebuilds to automatically update the /usr/src/linux symlink |
Emerge
Agora instale sys-kernel/gentoo-sources:
root #
emerge --ask sys-kernel/gentoo-sources
Kernels alternativos
There are many other kernel packages in the Portage tree. For details on many of these, see the Kernel sources overview article. Further help on choosing a kernel can be found in developer Greg Kroah-Hartman's article What Stable Kernel Should I Use?.
Pesquisando todas as alternativas
Uma lista completa das sources do kernel com descrições curtas pode ser encontrada pesquisando com o emerge:
root #
emerge --search sources
Configuração
Configuration
- Configuração automática
- genkernel é uma ferramenta usada para automatizar o processo de construção do kernel e do initramfs. O objetivo do genkernel é ajudar os usuários através do processo de construção do kernel.
- Configuração manual
- A configuração manual permite que o usuário, com algum esforço, crie uma configuração personalizada do kernel.
- Gentoo guia de configuração do kernel
- Guia de configuração do kernel do Gentoo.
- Deblobbing
- A guide to deblobbing the kernel
- Segurança do kernel
- Instruções para proteger o kernel.
- Modules
- Modules are object files that contain code to extend the kernel.
- Optimization
- Descriptions of various optimizations for the kernel.
- Command-line parameters
- Descriptions of some commonly useful command-line parameters which can be passed to the kernel at boot time for troubleshooting.
Upgrade
- Atualizar
- Passos para atualizar para um novo kernel usando uma configuração existente.
Removal
- Remoção
- Etapas para remover completamente os kernels antigos.
Troubleshooting
Kernel configuration support
See the IKCONFIG support sub-article.
Kernel command-line parameters
When booting from a bootloader, the Linux kernel can accept command-line parameters to change its behavior. This can help, for example, in troubleshooting the kernel at boot time, or to blacklist a certain module that should not be loading. See Gentoo's Kernel/Command-line parameters article for more details.
Kernel.org has a nicely formatted list of available kernel command-line parameters in their admin guide.
Veja também
- A categoria do kernel - Todos os artigos relacionados ao kernel na wiki.
- A categoria de Hardware - Lista de pilhas de hardware com configurações de kernel associadas.
Recursos externos
- planet.kernel.org/ - Blogs relacionados ao kernel Linux.
- kernelhub.org/ - Um site dedicado a estatísticas do kernel.
- kernelnewbies.org/ - "Um site para aspirantes a desenvolvedores do kernel Linux que trabalham para melhorar seus Kernels e desenvolvedores mais experientes dispostos a compartilhar seus conhecimentos do kernel."