English Portuguese (Brazil)
Building a custom kernel is often a rite of passage for advanced BSD users. This process, while time consuming, can provide benefits to the FreeBSD system. Unlike the [.filename]#GENERIC# kernel, which must support a wide range of hardware, a custom kernel can be stripped down to only provide support for that computer's hardware. This has a number of benefits, such as: Construir um kernel personalizado é muitas vezes um rito de passagem para usuários avançados do BSD. Este processo, embora consuma tempo, pode fornecer benefícios ao sistema FreeBSD. Ao contrário do kernel <filename>GENERIC</filename>, que deve suportar uma ampla gama de hardware, um kernel personalizado pode ser reduzido para fornecer suporte apenas para o hardware desse computador. Isso tem vários benefícios, tais como:
Lower memory usage. A custom kernel often uses less memory than the [.filename]#GENERIC# kernel by omitting unused features and device drivers. This is important because the kernel code remains resident in physical memory at all times, preventing that memory from being used by applications. For this reason, a custom kernel is useful on a system with a small amount of RAM. Diminuir o uso de memória. Um kernel personalizado geralmente usa menos memória que o kernel <filename>GENERIC</filename> ao omitir recursos e drivers de dispositivo que não são utilizados. Isso é importante porque o código do kernel permanece residente na memória física o tempo todo, impedindo que a memória seja usada pelos aplicativos. Por esse motivo, um kernel personalizado é útil em um sistema com uma pequena quantidade de RAM.
Additional hardware support. A custom kernel can add support for devices which are not present in the [.filename]#GENERIC# kernel. Suporte adicional de hardware. Um kernel personalizado pode adicionar suporte para dispositivos que não estão presentes no kernel <filename>GENERIC</filename>.
In some cases, there is no associated module in [.filename]#/boot/kernel#. This is mostly true for certain subsystems. Em alguns casos, não há nenhum módulo associado em <filename>/boot/kernel</filename>. Isso é verdade principalmente para certos subsistemas.
This output shows that the [.filename]#ath# driver located a wireless Ethernet device. Esta saída mostra que o driver <filename>ath</filename> localizou um dispositivo Ethernet sem fio.
Do not make edits to [.filename]#GENERIC#. Instead, copy the file to a different name and make edits to the copy. The convention is to use a name with all capital letters. When maintaining multiple FreeBSD machines with different hardware, it is a good idea to name it after the machine's hostname. This example creates a copy, named [.filename]#MYKERNEL#, of the [.filename]#GENERIC# configuration file for the `amd64` architecture: Não faça edições no <filename>GENERIC</filename>. Em vez disso, copie o arquivo para um nome diferente e faça edições na cópia. A convenção é usar um nome do host com todas as letras maiúsculas. Ao manter várias máquinas FreeBSD com hardware diferente, é uma boa idéia nomeá-lo com o nome do host da máquina. Este exemplo cria uma cópia, denominada <filename>MYKERNEL</filename>, do arquivo de configuração <filename>GENERIC</filename> para a arquitetura <literal>amd64</literal>:
The format of the kernel configuration file is simple. Each line contains a keyword that represents a device or subsystem, an argument, and a brief description. Any text after a `#` is considered a comment and ignored. To remove kernel support for a device or subsystem, put a `#` at the beginning of the line representing that device or subsystem. Do not add or remove a `#` for any line that you do not understand. O formato do arquivo de configuração do kernel é simples. Cada linha contém uma palavra-chave que representa um dispositivo ou subsistema, um argumento e uma breve descrição. Qualquer texto depois de um <literal>#</literal> é considerado um comentário e ignorado. Para remover o suporte do kernel para um dispositivo ou subsistema, coloque um <literal>#</literal> no início da linha que representa esse dispositivo ou subsistema. Não adicione ou remova um <literal>#</literal> para qualquer linha que você não entenda.
In addition to the brief descriptions provided in this file, additional descriptions are contained in [.filename]#NOTES#, which can be found in the same directory as [.filename]#GENERIC# for that architecture. For architecture independent options, refer to [.filename]#/usr/src/sys/conf/NOTES#. Além das breves descrições fornecidas neste arquivo, descrições adicionais estão contidas no arquivo <filename>NOTES</filename>, o qual pode ser encontrado no mesmo diretório que o <filename>GENERIC</filename> para aquela arquitetura. Para opções independentes de arquitetura, consulte <filename>/usr/src/sys/conf/NOTES</filename>.
When finished customizing the kernel configuration file, save a backup copy to a location outside of [.filename]#/usr/src#. Quando terminar de personalizar o arquivo de configuração do kernel, salve uma cópia de backup em um local fora do <filename>/usr/src</filename>.
An `include` directive is available for use in configuration files. This allows another configuration file to be included in the current one, making it easy to maintain small changes relative to an existing file. If only a small number of additional options or drivers are required, this allows a delta to be maintained with respect to [.filename]#GENERIC#, as seen in this example: Uma diretiva <literal>include</literal> está disponível para uso em arquivos de configuração. Isso permite que outro arquivo de configuração seja incluído no arquivo atual, facilitando a manutenção de pequenas alterações em relação a um arquivo existente. Se apenas um pequeno número de opções ou drivers adicionais forem necessários, isso permitirá que um delta seja mantido com relação ao <filename>GENERIC</filename>, conforme mostrado neste exemplo:
Change to this directory:
Mude para este diretório:
MODULES_OVERRIDE = linux acpi
MODULES_OVERRIDE = linux acpi
WITHOUT_MODULES = linux acpi sound
WITHOUT_MODULES = linux acpi sound
config: line 17: syntax error
config: line 17: syntax error