Haciendo un stage 4 a partir de una instalacion de funtoo

Actualmente dañe mi gentoo a tal punto (por falta de mantemiento) que tenia que recompilar 1.6 gb con paquetes tan pesados como xulrunner, qt o gcc, asi que como la gran hueva es imperante me decidi a hacer algo mejor, experimentar hacer mi stage 4 a base del funtoo que tengo en mi laptop ya que las CFLAGS que utilizo en ambas maquinas son las mismas y el conjunto de USE son bastante parecidas

Primero que nada este stage no pretende terminar como un live CD o como GRP asi que no necesito catalyst, un stage 4 no es más que un backup de la particion / de nuestro sistema, convenientemente comprimida en un .tar.bz2 o lo que se nos de la gana.

Paso 1

Ve por unas papas y un cafe (es algo largo el proceso)

Paso 2

Hay que crear un archivo de exclusion de archivos ya que no necesitas de directorios como /home, /dev o /proc para armar un stage funcional

Este archivo lo puedes crear en / por comodidad,

Primero creamos el archivo

# nano stage4.excluidos

Y ahora hacemos el listado de carpetas a no comprimir

.bash_history
/mnt/*
/tmp/*
/proc/*
/sys/*
/dev/*
/etc/ssh/ssh_host_*
/usr/src/*
/usr/portage/*
/stage4/stage4.tar.bz2
/srv/*
/home/*

Todas las carpetas y/o archivos que se coloquen en este archivo van a ser excluidos, y puede (o deberia) ser personalizado, luego de esto hacemos un directorio para recibir el stage (que ya incluimos en el archivo de exclusion) y comprimimos nuestro sistema

# mkdir /stage4

# tar cvjf /stage4/stage4.tar.bz2 / -X stage4.excluidos

Es buen momento para ir por otro cafe . . .

Una ves hecho esto la instalacion se hace como si se tratara de otro release de gentoo pero utilizando nuestro stage personalizado, siempre siguiendo el poderoso handbook de gentoo

  • Usar cualquier CD de cualquier distribucion
  • Montar los sistemas de archivos en /mnt/funtoo
  • Copiar y extraer nuestro stage en /mnt/funtoo (tar -xvjpf stage4.tar.bz2)
  • Descargar e instalar una imagen de portage en /mnt/funtoo/usr
  • Hacer el chroot como siempre
  • Realizar las configuraciones adicionales
  • Obtener una nueva imagen de portage a la funtoo way (ver el fix 1 más abajo)
  • Si excluimos boot debemos de crear un nuevo kernel y compilarlo (para lo cual ya debimos de arreglar portage, ver la seccion de fixes)
  • Instala GRUB como se indica en el Manual de Gentoo
  • Zaz ya tienes funtoo!!!

¿Verdad que estuvo facil?

Paso 3

Haciendolo al modo funtoo hay que hacer un par de fixes para que todo el sistema funcione

FIX 1: El arbol de portage

Por defecto el arbol de portage que descarguemos va a traer activada la rama master para ver los ultimos disponibles tenemos que visitar el siguiente link y descargarlo: http://www.funtoo.org/linux/funtoo/snapshots/

Luego de esto descomprimimos el stage

# cd /mnt/gentoo/usr
# tar xf /donde/descargaste/el/stage/portage-current.tar.bz2

Y por ultimo hacemos un «switch» desde la rama master a funtoo, si el portage es current, git detectara que no hay cambios y la actualizacion sera rapida.

# cd /usr/portage
# git checkout funtoo.org

Hasta aca ya tenemos arbol de portage, asi que solo queda pendiente un emerge –sync para que construya la cache de portage para utilizar con emerge –search o con eix, la construccion y actualizacion de este portage es mucho más rapida que con el portage tradicional (hacks que aporta funtoo).

FIX 2: Fecha y hora del nuevo sistema

Algo que sucede con openRC es que si detecta nuestros scripts de inicio con una fecha mayor mostrara el mensaje «Caching service dependencies» cada ves que cargue un nuevo servicio, algo bastante engorroso asi que nos queda componer la fecha, dependiendo si utilizamos UTC o formato local debemos editar el archivo

/etc/conf.d/hwclock

Una ves configurado (el archivo tiene solo 3 parametros y esta bastante comentado) podemos arreglar la hora con hwclock o como mi metodo preferido una consulta ntp

ntpdate -u pool.ntp.org

Y hemos solventado este error.

FIX 3: Nuevo kernel

A menos que utilicemos genkernel (algo un poco contradictorio para un sistema tan personalizable como gentoo) el directorio /usr/src fue excluido del stage, igual que las configuraciones del kernel, asi que nos descargamos una copia del codigo fuente con emerge.

# emerge gentoo-sources

Y procedemos a configurar nuestro kernel como nos indica la guia de actualización de kernel de gentoo

FIX 4: Más cafe

A estas alturas ya estas cansado (como yo) y es momento de un descafeinado para tranquilizarte. Si llegaste hasta aqui, ¡En horabuena!, ya has configurado tu nuevo sistema a partir de un stage 4.

Referencias:

Manual de construcción de stage 4

Guia de actualización e instalación de kernel gentoo

Series de documentación funtoo, instalación

Guia de instalacion gentoo linux

Un poco de sentido comun 😉

5 respuestas a “Haciendo un stage 4 a partir de una instalacion de funtoo”

  1. IceWeasel 3.0.6 IceWeasel 3.0.6 Debian GNU/Linux Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; es-AR; rv:1.9.0.19) Gecko/2010090808 Iceweasel/3.0.6 (Debian-3.0.6-3)

    Clarísimo !
    Quiero practicarlo, ahora, pregunto, porque no se bien, pero imagino que el stage teniendo /etc y /usr mantiene todo lo que instalé y sus configuraciones, ¿es así? ¿Cuál sería la diferencia entre armar el stage 4 con mi / y descargar un stage 3 ? .
    Fundamental el paso 1 y el fix4.
    Buenísimo

  2. Firefox 10.0.3 Firefox 10.0.3 FreeBSD FreeBSD
    Mozilla/5.0 (X11; FreeBSD i386; rv:10.0.3) Gecko/20100101 Firefox/10.0.3

    ni enterado lo del stag4 , algun dia lo hago 😛
    mientras sigo con mi gentoo con openbox en virtualbox xD

  3. Firefox 5.0 Firefox 5.0 OpenBSD OpenBSD
    Mozilla/5.0 (X11; OpenBSD i386; rv:5.0) Gecko/20100101 Firefox/5.0

    Gran guia!

  4. Opera 11.62 Opera 11.62 GNU/Linux GNU/Linux
    Opera/9.80 (X11; Linux i686; U; en) Presto/2.10.229 Version/11.62

    Excelente tip bro , va a servirme por si jodo mi sistema jeje

  5. Firefox 11.0 Firefox 11.0 NetBSD NetBSD
    Mozilla/5.0 (X11; NetBSD i386; rv:11.0) Gecko/20120423 Firefox/11.0

    muy bueno , se agradece

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *