Inicio > Gentoo, Linux, Portage, Tutorial > Instalación de Gentoo: Instalando el sistema base

Instalación de Gentoo: Instalando el sistema base

Una vez que creadas y formateadas las particiones como ya explicamos anteriormente ahora nos toca montarlas. Para ello hay que seguir los siguentes pasos. Primero hay que crear una carpeta donde se monta la partición con el directorio raíz /, y luego diferente subdirectorios donde se van montando las particiones correspondientes. Vamos a crear la carpeta donde se montará el directorio raíz y a montarlo. Para ello ejecutamos los siguientes comandos:

$ sudo mkdir /mnt/gentoo
$ sudo mount /dev/hda3 /mnt/gentoo

Ahora tocar hacer lo mismo con las demás particiones. Es decir como la partición raíz / está en /mnt/gentoo si quisieramos montar la partición /boot, primero creamos el subdirecterio correspondiente /mnt/gentoo/boot y luego la montamos ahí. Para hacer esto para todas las particiones simplemente hay que ejecutar los siguientes comandos:

$ sudo mkdir /mnt/gentoo/boot
$ sudo mount /dev/hda2 /mnt/gentoo/boot
$ sudo mkdir -p /mnt/gentoo/usr/src
$ sudo mount /dev/hda6 /mnt/gentoo/usr/src
$ sudo mkdir -p /mnt/gentoo/usr/portage
$ sudo mount /dev/hda7 /mnt/gentoo/usr/portage
$ sudo mkdir -p /mnt/gentoo/usr/portage/distfiles
$ sudo mount /dev/hda8 /mnt/gentoo/usr/portage/distfiles
$ sudo mkdir -p /mnt/gentoo/var
$ sudo mount /dev/hda9 /mnt/gentoo/var
$ sudo mkdir -p /mnt/gentoo/tmp
$ sudo mount /dev/hda10 /mnt/gentoo/tmp
$ sudo mkdir -p /mnt/gentoo/home
$ sudo mount /dev/hda11 /mnt/gentoo/home/

Una vez hecho esto tenemos nuestras particiones montadas y listas para ser usadas, pero antes de seguir como tenemos que darle permisos a la partición /tmp ya que la tenemos en su propia partición. Lo mismo ocurriría para /var/tmp si la hubieramos montado en una partición expresa. Para ello ejecutamos:

sudo chmod 1777 /mnt/gentoo/tmp/

Antes de seguir comprobamos que tenemos la hora correctamente ajustada, ya que si no es así pueden suceder cosas extrañas en algún momento. Para hacerlo ejecutamos simplemente:

$ date

y comprobamos que la hora sea la adecuada. Si no es así la cambiamos con el siguiente comando:

$ sudo date MMDDhhmmAAAA

donde MM es el mes correspondiente con dos cifras, DD es el día con dos cifras también, hhmm se corresponden con la hora y minutos que sea y AAA es el año con 4 cifras.

Ahora vamos a descargar e instalar el sistema base de Gentoo, para ello vamos al punto de montaje en el que hemos montado el directorio raíz, es decir, /mnt/gentoo. Por comodida ejecutamos ahora:

$ sudo su

Con esto logramos acceder como superusuario. Esto es necesario porque a partir de ahora todo lo que ejecutemos requerirá de permisos de superusuario (o root), por ello el código comenzará por # si no se necesitan permisos de superusuario entonces comenzará por $ y lo puedes ejecutar con tu usuario. Hasta lo hemos hecho todo con el usuario normal pero como escribiamos sudo al inicio lograbamos ejecutar ese comando como superusuario. También hubiera sido posible hacer esto anteriormente, pero cuanto menos se trabaje como superusuario mejor. Ahora sí accedemos al directerio donde hemos montado todo:

# cd /mnt/gentoo

Ahora vamos a descargar el sistema base de Gentoo, para ello usaremos un stage3 que es simplemente descargar, descomprimir y listo. Para usaremos links que es un navegador web para consola. El stage lo descargaremos de la lista de servidores réplica:

# links http://www.gentoo.org/main/en/mirrors.xml

Al ser la primera vez que lo ejecutamos nos saldrá un recuadro de bienvenida que nos explica donde obtener ayuda. Pulsamos enter para cerrarlo y ya podemos navegar por la página. Ahora con el cursor de dirección bajamos hasta encontrar la lista de servidores réplica y escojemos uno cercano pulsando enter cuando esté seleccionado:

Luego vamos a releases y seleccionamos la arquitectura que se corresponda con nuestro ordenador en mi caso x86:

luego entramos en 2008.0/stages. Nos posicionamos sobre stage3-i686-2008.0.tar.bz2 y pulsamos D para descargarlo, hacemos lo mismo con los archivoa stage3-i686-2008.0.tar.bz2.DIGESTS y stage3-i686-2008.0.tar.bz2.CONTENTS que nos servirán para comprabar que el stage se ha descargado bien y no tiene ningún problema. Una vez terminadas las descargas pulsamos Q para cerrar links:

Ahora usamos md5sum para comprobar si el stage se ha descargado correctamente:

# md5sum -c stage3-i686-2008.0.tar.bz2.DIGESTS

Ahora extraemos el stage usando tar para ello:

# tar xvjpf stage3-*.tar.bz2

Verás cpor la pantalla de la consola empiezan a salir todos los archivos que están siendo extraidos. Las opciones que hemos usado son xvjpf y tienen las siguientes funciones:

  • x se usa para extraer.
  • v (verbose) se usa para que muestre en la pantalla lo que está pasando, es por eso que aparecen en la pantalla todos los archivos extraidos. Es opcional.
  • j para indicar que descomprima con bzip2.
  • p para preservar los permisos de los archivos comprimidos.
  • f para indicar que extraemos un archivo.

Ahora toca instalar Portage que es muy parecido a como hemos hecho con el sistema base. Nos situamos en el punto de montaje del sistema de ficheros:

# cd /mnt/gentoo

Ejecutamos nuevamente links en la lista de servidores réplica:

# links http://www.gentoo.org/main/en/mirrors.xml

Nuevamente seleccionamos un servidor cercano a nosotros:

Esta vez entramos en el directorio snapshots:

y descargarmos la última imagen disponible. El nombre es: portage-latest.tar.bz2. Así como el archivo portage-latest.tar.bz2.md5sum para comprobar que se ha descargado correctamente. Para ello seleccionamos el archivo y pulsamos D para descargarlo:

Una vez acabado comprobamos que Portage se ha descargado correctamente:

# md5sum -c portage-latest.tar.bz2.md5sum

Ahora extraemos la imagen descargada con el siguiente comando:

# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

<img src="https://gentooing.files.wordpress.com/2009/08/sistema-base16.png” alt=”” />

Ahora vamos a configurar Portage para que nos permita tener nuestro sistema perfectamente optimizado. Para configurar Portage se utiliza el siguiente archivo de configuración: /etc/make.conf. Aquí no voy a explicar todas las opciones de configuración disponibles si no sólo las que necesitemos configurar en cada momento. Para saber más podéis mirar el archivo /etc/make.conf.example que explica las principales opciones disponibles. Para editar el archivo podéis usar el editor que prefiráis. Yo en mi caso usaré nano. Para ello ejecuta:

# nano -w /mnt/gentoo/etc/make.conf

Como podéis ver tenemos muy pocas opciones configuradas. Os voy a explicar lo que son las que aparecen:

  • CHOST: Es el objetivo de compilación del sistema. Esta variable debe concordar con la arquitectura de tu sistema y no debes cambiarla. Si no concuerda es que has descargado un stage que no se corresponde con tu ordenador.
  • CFLAGS y CXXFLAGS son respectivamente parámetros de optimización para el compilador de C y C++ de gcc. Aquí en este archivo se definen globalmente por lo tanto se suelen usar las más flags más seguras para evitar problemas e inestabilidades en el sistema. Luego se pueden definir específicamente para cada programa y así permitir una mayor optimización sin repercutir en la estabilidad general del sistema.

Bueno, después de esta pequeña explicación pongámonos manos a la obra. Como ya he dicho la variable CHOST no se toca. Así que vamos a configurar las CFLAGS y CXXFLAGS.

El primer parámetro es -march= aquí va la arquitectura de destino. Ahí muchas opciones y depende de tu procesador. Pero a partir de la versión 4 de gcc existe la opción -march=native que permite que el compilador detecta tu CPU y las optimizaciones que acepta y define las opciones de acuerdo a eso. Esta es la opción recomendada y la que usaré.

Luego viene -O que indica el nivel de optimización de gcc. Las posibilidades son s para optimizar el tamaño, 0 para no optimizar, 1, 2 o incluso 3 para la optimización de velocidad (cada clase tiene los mismos parámetros que la primera, más algunos extras). Hay mucha gente que usa -O3. Pero puede provocar problemas al usarlo goblalmente y es practicamente inapreciable la diferencia con -O2 que es la que yo usaré. Estas son las opciones básicas pero se le pueden agregar algunas más. Para saber cuales son las flags seguras disponibles para nuestra CPU miramos en gentoo-wiki (inglés). Más concretamente el artículo sobre las flags seguras. Como explica ahí, lo primero es ejecutar cat /proc/cpuinfo para obtener información sobre nuestra CPU. Lo hacemos:

$ cat /proc/cpuinfo

Como se puede ver en la captura mi CPU es un Intel Core Duo T2300. Para saber las flags seguras disponibles hacemos click en el enlace al final de la página que se corresponda con nuestra CPU. En mi caso es Intel y luego allí voy a la sección correspondiente: Intel Core Solo/Duo, Pentium Dual-Core T20xx/T21xx. Donde sale:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

Estas serán las que use. La opción -pipe lo que hace es que el compilador en vez de crear archivos temporales durante la compilación usa tuberías para enviar los datos a la siguiente función. Lo cual ahorra tiempo de compilación a costa de un mayor uso de memoria RAM (si tienes poca RAM no es aconsejable activarlo).

La otra opción -fomit-frame-pointer evita el usao de punteros permitiendo liberar registros en la CPU. Pero sin embargo no nos permite usar la opción de depuración de errores de los programas (debugging).

Por último indicar que lo que hay escrito en las CXXFLAGS indica que use las mismas que las CFLAGS

Aparte de eso vamos a añadir la variable MAKEOPTS que indica el número de compilaciones paralelas que se pueden llevar a cabo. El número que se pone es el número de CPUs (núcleos de CPU) más uno. En mi caso como es un procesador doble núcleo pondré 3:

MAKEOPTS="-j3"

Si en vuestro caso no es así simplemente cambiad el 3 por lo que corresponda y voilá.

Ahora añadimos las siguientes opciones al archivo make.conf:

GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
PORTAGE_RSYNC_RETRIES="3"

La primera variable indica desde que servidor réplica va a descargar los archivos fuentes de los programas. Yo siempre uso el finlandés porque aunque no este aquí al lado siempre funciona sin problemas y es rápido. La segunda variable indica el servidor rsync usado para actualizar el árbol Portage (la colección de ebuilds, scripts que contienen toda la información que Portage necesita para descargar e instalar software). Yo he seleccionado los europeos porque así cada vez va cambiando por uno nuevo. Ya que si sincronizas el árbol Portage más de tres veces al día con un mismo servidor te banea por un tiempo (días creo). Esto para evitar sobrecargar los servidores. De todos modos con hacer una vez al día o incluso menos va perfecto. El último es el número de veces que intenta la conexión antes de probar otro servidor si el actual no responde. Al final mi archivo make.conf ha quedado así:

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /etc/make.conf.example for a more detailed example.
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="i686-pc-linux-gnu"

CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j3"

GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
PORTAGE_RSYNC_RETRIES="3"

Una vez hamos acabado de editarlo salimos pulsando CTRL+X e introducimos y para que guarde los cambios efectuados.

Todavía quedan un par de cosillas antes de pasar al siguiente paso de la instalación… Pero como ahora no tengo tiempo de hacerlo lo haré mañana y actualizaré esta entrada 😉

Anuncios
Categorías:Gentoo, Linux, Portage, Tutorial
  1. Aún no hay comentarios.
  1. 6 septiembre 2009 en 22:31
  2. 6 noviembre 2015 en 03:25

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: