[FUG-BR] Estranho comportamento ao se atualizar o kernel
Luiz Otavio O Souza
lists.br em gmail.com
Terça Abril 19 12:28:42 BRT 2011
On Apr 19, 2011, at 11:13 AM, Rodrigo Mosconi wrote:
> A partir da série 8.X, a forma tradicional
> config KERNEL
> cd ../compile/KERNEL
> make depend && make && make install
>
> não é mais suportada, recomenda o uso do make buildkernel e make
> installkernel, pois o buildkernel prepara a toolchain
>
> De fato, consta no UPDATING, executar um make toolchain antes do make
> buildkernel.
>
> Como observação: o make buildworld tem implicito o make toolchain
>
> É de boa prática ler o UPDATING antes de qualquer compilação.
>
>
> Em 19 de abril de 2011 13:41, Eduardo Lemos de Sa
> <eduardo.lemosdesa em gmail.com> escreveu:
>> Caríssimos
>>
>> Desde que eu me lembro, eu sempre fiz a customização do kernel (removendo os
>> devices que eu não tenho instalados) através do /usr/sbin/config MYKERNEL e
>> daí por diante, sem que nunca houvesse algum problema grave. Ontem, fazendo
>> o mesmo procedimento, esbarrei num erro de formato no arquivo Hack.So.
>> Pensei que o problema fosse no meu MYKERNEL e tentei compilar o GENERIC.
>> Mesmo resultado.
>>
>> Atualizei os fontes do sistema (8.2-RELEASE/amd64) que compilou sem
>> problemas, instalei-o e o erro persistiu. Aí eu fiz o que eu já havia feito
>> algumas vezes:
>>
>> cd /usr/src
>> make buildkernel "KERNCONF=MYKERNEL" e depois um make installkernel
>> "KERNCONF=MYKERNEL" e funcionou direito.
>>
>> Relato isto para avisar a algum incauto que usa o método sugerido no
>> handbook e para ver se alguém já esbarrou neste problema e tem uma
>> explicação para o fato. De qualquer forma, o kernel foi instalado e
>> compilado (logo não há um problema a ser efetivamente resolvido), só um
>> estranho comportamento.
>>
Exato !
O problema é que o próprio config(8) (que você executou como /usr/sbin/config) muitas vezes também precisa ser atualizado para entender e/ou tratar novas opções do kernel.
Como executar o config(8) existente nesses casos não é uma opção, o 'make kernel-toolchain' compila um novo config(8) apto a tratar as opções do kernel que você esta prestes a compilar.
Como essa dança de aplicativos e paths ficaria complicada para documentar e cheia de armadilhas, utiliza-se o novo processo (que faz toda essa mágica por você) conforme comentado pelo Rodrigo.
Att.,
Luiz
PS: Qual handbook você consultou ? Acredito que a tradução para o português-br esta bem desatualizada... (e provavelmente deveria ser abandonada - para consultas - infelizmente...).
Mais detalhes sobre a lista de discussão freebsd