Conversão de instalação Gentoo para Funtoo

De Wiki Hackstore
Keep-calm-and-wololo-oooo-1.png

Requisitos

1) Instalação padrão Gentoo:

1.1) Ebuild git compilado (instalado)

1.2) portage com versão 2.2 ou superior instalado

2) Stage3 oficial Funtoo


Migrando Portage para padrão Funtoo com GIT

Mova o diretório portage do Gentoo para um outro diretório, obtenha a última versão do portage Funtoo:

cd /usr
mv portage portage-old
wget http://ftp.osuosl.org/pub/funtoo/funtoo-current/snapshots/portage-latest.tar.xz
tar xf portage-latest.tar.xz 
rm portage-latest.tar.xz
chown portage.portage -R /usr/portage
cd /usr/portage
git checkout funtoo.org


Atualize o snapshot do portage para a árvore oficial do Funtoo

Atualize o repositório:

emerge --sync

ou

eix-sync

Atualize o python

Adicione as flags do python ao make.conf:

PYTHON_TARGETS="python2_7 python3_4"

PYTHON_SINGLE_TARGET="python3_4"


Compile o python nas versões 2.7 e 3.4:

emerge -u python:2.7 python:3.4

Defina a versão atual do python como 3.x:

eselect python set python3.4

Atualize o portage

emerge portage

Configure o novo profile

Instale o EGO/EPRO :

emerge app-admin/ego


Selecione os profiles

epro arch x86-64bit
epro build current
epro flavor core



Atualize o PAM, coreutils e o OpenRC:

emerge sys-libs/pam sys-apps/coreutils sys-apps/openrc

Atualize a base de gentoo para Funtoo:

emerge sys-apps/baselayout app-portage/gentoolkit


Atualize o gentoolkit:

emerge app-portage/gentoolkit


Recompile todas as dependências

Deps. Python

emerge -av $(equery d python | grep -o -E "dev-python/[A-Za-z0-9]+(-[A-Za-z]([A-Za-z0-9]*))*")

Deps. Perl

emerge app-admin/perl-cleaner
perl-cleaner --all
emerge -av $(equery d perl | grep -o -E "dev-perl/[A-Za-z0-9]+(-[A-Za-z]([A-Za-z0-9]*))*")

Caso ocorram problemas:

emerge -uD1a $(qlist -IC 'virtual/perl-*')

Se tudo der errado:

emerge -D $(equery d perl | grep -o -E "dev-perl/[A-Za-z0-9]+(-[A-Za-z]([A-Za-z0-9]*))*"|cut -d: -f2) perl $(equery d perl | grep -o -E "virtual/perl-[A-Za-z0-9]+(-[A-Za-z]([A-Za-z0-9]*))*"|cut -d: -f2) 



Deps. de vídeo (opcional)

Compile o EIX:

emerge eix
emerge $(eix -s |grep x11-proto|grep '\[I'|cut -d" " -f2)
emerge $(eix -s |grep x11-libs|grep '\[I'|cut -d" " -f2)



Atualize o arquivo /var/lib/portage/world:

regenworld


Atualize as versões oficiais para o novo padrão:

emerge -u system


Adaptação da interface de rede

Remova qualquer script de init do Gentoo.

rm -f /etc/init.d/net.* /etc/conf.d/net

Recompile os scripts de rede:

emerge openrc

Siga a documentação oficial para configurar sua rede:

http://www.funtoo.org/Funtoo_Linux_Networking



Grub 2

Atualize para o novo Grub-2

emerge -C sys-boot/grub && emerge sys-boot/boot-update sys-boot/grub
boot-update


Corrija os pacotes da lista "world" do portage

Atualize os ebuilds que tiveram mudanças de flags:

emerge --update --deep --newuse world

PS: Se ocorrerem erros com ebuilds no "world", porém forem "inexistentes" (na árvore do Portage atual Funtoo) basta removê-los manualmente editando tal lista (world) do Portage. :))

vi /var/lib/portage/world


Atualize o profile

Verifique quais as opções disponíveis:

emerge app-admin/eselect
eselect profile list
Currently available arch profiles:
  [1]   funtoo/1.0/linux-gnu/arch/x86-64bit
  [2]   funtoo/1.0/linux-gnu/arch/pure64
Currently available build profiles:
  [3]   funtoo/1.0/linux-gnu/build/stable
  [4]   funtoo/1.0/linux-gnu/build/current
  [5]   funtoo/1.0/linux-gnu/build/experimental
Currently available flavor profiles:
  [6]   funtoo/1.0/linux-gnu/flavor/minimal
  [7]   funtoo/1.0/linux-gnu/flavor/core
  [8]   funtoo/1.0/linux-gnu/flavor/desktop
  [9]   funtoo/1.0/linux-gnu/flavor/workstation
Currently available mix-ins profiles:
  [10]  funtoo/1.0/linux-gnu/mix-ins/audio
  [11]  funtoo/1.0/linux-gnu/mix-ins/console-extras
  [12]  funtoo/1.0/linux-gnu/mix-ins/dvd
  [13]  funtoo/1.0/linux-gnu/mix-ins/gnome
  [14]  funtoo/1.0/linux-gnu/mix-ins/kde
  [15]  funtoo/1.0/linux-gnu/mix-ins/mate
  [16]  funtoo/1.0/linux-gnu/mix-ins/media
  [17]  funtoo/1.0/linux-gnu/mix-ins/print
  [18]  funtoo/1.0/linux-gnu/mix-ins/python3-only
  [19]  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat
  [20]  funtoo/1.0/linux-gnu/mix-ins/server-db
  [21]  funtoo/1.0/linux-gnu/mix-ins/server-mail
  [22]  funtoo/1.0/linux-gnu/mix-ins/server-web
  [23]  funtoo/1.0/linux-gnu/mix-ins/X
  [24]  funtoo/1.0/linux-gnu/mix-ins/xfce
  [25]  funtoo/1.0/linux-gnu/mix-ins/vmware-guest

Selecione o profile "stable":

eselect profile add 1
eselect profile set-build 3
eselect profile set-flavor 7

Ajuste a versão do GCC

Liste as versões do GCC disponíveis:

gcc-config -l
 * gcc-config: Active gcc profile is invalid!

 [1] x86_64-pc-linux-gnu-4.6.3

Selecione a versão desejada:

gcc-config 1
. /etc/profile


Atualize o sistema

Recompile todos os ebuilds usando o novo profile:

emerge -vauDN world

Atualize todos os ebuilds:

emerge -vD world

Remova os ebuilds obsoletos:

 emerge --depclean


Recompile as bibliotecas (libs) corrompidas:

emerge @preserved-rebuild
revdep-rebuild


Reboot e voilá! você agora possui um sistema Funtoo.

shutdown -r now