FreeBSD
Recompilação e Instalação do Kernel
Existem determinadas tarefas que exigem que o kernel seja configurado com opções
diferentes do padrão (GENERIC), para então ser recompilado e instalado
no lugar do kernel antigo. Siga as etapas abaixo.
Verifique se existe o diretório /usr/src/sys. Caso não exista, então você não instalou os fontes do kernel, e precisará fazer isso. Basta executar /stand/sysinstall, escolher Configure, Distributions, src e então sys. Isso irá instalar os fontes.
Agora, vá para o diretório /usr/src/sys/i386/conf. É aí que fica o arquivo de configuração do kernel. Copie o GENERIC para o nome de sua preferência (geralmente o hostname da máquina).
Edite o arquivo de configuração que você acabou de copiar (não o GENERIC) e insira ou altere as opções que desejar. Podem ser removidas as referências a dispositivos de hardware que você não possui, e também interfaces ou opções que você não irá utilizar. Isto irá inclusive melhorar a performance do sistema, já que irá trabalhar com um kernel mais "leve" e sem drivers desnecessários. Para maiores informações consulte o arquivo LINT, no diretório /usr/src/sys/i386/conf.
Após isso, altere a configuração do Securelevel para -1, reinicie a máquina e então execute:
# cd /usr/src
# make buildkernel KERNCONF=SEUKERNEL
# make installkernel KERNCONF=SEUKERNEL
Com isso, o novo kernel será criado e copiado ao diretório raiz como /kernel, e o kernel antigo será movido para /kernel.old. Para terminar, reinicie a máquina para carregar seu novo kernel.
Caso a sua máquina não bootar com o novo kernel, não se preocupe. Basta pressionar qualquer tecla (exceto enter) durante a contagem regressiva, na inicialização. Então digite os seguintes comandos:
unload
boot kernel.old
Isso fará com que seja inicializado o seu kernel antigo. Pode também ser entrado o comando "boot kernel.GENERIC", para incializar o kernel "padrão de fábrica".
Após tudo estar funcionando, deverá ser alterado o Securelevel para o nível desejado (caso seja utilizado) e reiniciar novamente.
Maiores informações no Handbook
do FreeBSD, seção de configuração do kernel.
Atualizado em 04/02/04.
Heini Thomas Geib.
http://infsr.unijui.tche.br/~heini