[FUG-BR] Saiu o 9 RELEASE !!! :)
Luiz Otavio O Souza
lists.br em gmail.com
Sexta Janeiro 13 17:03:24 BRST 2012
On Jan 12, 2012, at 7:49 PM, Enio Marconcini wrote:
> hoje a tarde, por questões de testes, resolvi instalar um 8.2-release, e
> fiz um csup para RELENG_9
> como era apenas para testes, não mudei nada do generic, apenas mandei um
> 'make buildkernel' pra recompilar o generic no objetivo de obter o
> 9.0-Stable, mas obtive um erro que acabei não anotando.
>
> acabei desistindo, pois queria testar uma instalação a partir da iso do
> 9.0-Release, e estou agora fazendo o csup para amanhã cedo tentar um
> buildkernel e ver os resultados.
>
> como foi tudo apenas para testes e diversão, após eu testar o 9.0 eu
> pretendo novamente instalar o 8.2 e tentar uma atualização dos fontes para
> fazer o buildkernel, caso ocorra o erro eu vou copiar e posto aqui na lista.
>
Enio,
Toda instalação a partir dos fontes deve seguir os passos recomendados pelo handbook:
http://www.freebsd.org/doc/handbook/makeworld.html
Lembrando que esse processo também já foi extensivamente discutido aqui na lista.
O problema mais comum para quem faz a atualização pelos fontes é a falta de sincronização do kernel com o userland. E normalmente ela acontece porque as pessoas não seguem corretamente o processo descrito no manual.
Eu não aconselho o upgrade do sistemas pelos fontes para os marinheiros de primeira viagem. Antes de fazer um upgrade deste, faça seus testes, entenda o processo, sinta-se seguro antes de prosseguir com as atualizações em sistemas de produção.
Exatamente para facilitar esse processo que foi feito freebsd-update(8): http://www.freebsd.org/doc/handbook/updating-upgrading-freebsdupdate.html e http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8
Para quem realmente quer fazer o update pelo fontes, a primeira coisa é esquecer o cvsup, csup e partir para o subversion (eu já postei um pequeno guia de utilização do svn aqui mesmo na lista).
Já ia me esquecendo do seu problema... hehehe..
O erro aconteceu porque você não executou o processo completo, que passaria pelo 'make buildworld' antes do 'make buildkernel'. Bastava seguir o processo que você iria conseguir compilar o kernel sem problemas.
O buildworld constroi (compila) as ferramentas utilizadas para compilar o sistema (que mais tarde serão utilizadas também pelo buildkernel). Como você pulou esse passo ele utilizou as ferramentas já instaladas no seu sistema (que provavelmente falhou em compilar o suporte a alguma nova extensão).
Dessa forma o buildworld compila, por exemplo, duas vezes o gcc, uma para criar o compilador que será utilizado para compilar (pela segunda vez) o gcc que será instalado pelo 'installworld'.
Embora a primeira vista isso pareça uma enorme perda de tempo, é Isso que permite o cross-compiling para outras arquiteturas. O primeiro gcc é compilado para ser executado na sua plataforma mas de forma a criar código que será executado em outra plataforma.
Assim o primeiro compilador roda em i386, mas gera código para x64, ARM, MIPS, PPC, etc.
Com esse toolkit construído na hora, o sistema termina de compilar todos os fontes para a plataforma desejada (que nem precisa ser uma plataforma diferente).
Espero que essa descrição ajude na compreensão do processo.
Att.,
Luiz
Mais detalhes sobre a lista de discussão freebsd