[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