En este artículo describo cómo instalar Gentoo Linux 3.10.17 (64 bits, con systemd + Gnome 3) en una máquina virtual (VM) ejecutándose en VMWare Fusion 6 para Mac OSX versión 10.9 (Mavericks). Aunque no lo he probado esto mismo debería funcionar igual en un Host distinto, como Parallels o VMWare Workstation para Windows o Linux.

Anticipo que el tiempo de boot con systemd me ha dejado boquiabierto. Desde que pulso “Play” hasta que hace boot a la Consola (modo multi-user sin GUI) tarda 3,5 seg. En caso de ir a modo gráfico X11 hasta la ventana de login tarda 4,5 seg y si uso login automático en total 9 segundos. En hacer shutdown tarda 2 seg. Nota: el host es un iMac 27 late 2013 core i7 (Haswell).

El manual oficial para este tipo de instalación es el Gentoo Linux AMD64 Handbook, un manual perfecto con mucho detalle. Considera este artículo munición extra que te servirá como ejemplo. Además te recomiendo leer también este par de enlaces importantes relacionados con el nuevo systemd en Gentoo y Gnome 3.8 en Gentoo.

Preparar la máquina virtual

Descarga el ISO install-amd64-minimal-<fecha del último>.iso desde los mirrors de gentoo. Para encontrarlo bucea hasta este directorio: /mirror/gentoo/releases/amd64/autobuilds/current-iso

Arranca VMWare Fusion, crea una nueva máquina virtual, indica que usarás el ISO como disco de arranque, asígnale por lo menos 1GB de memoria RAM, 20GB de espacio en disco y la red en modo NAT.

Recuerda: Le doy mínimo 20GB al disco virtual, para no tener problemas con los “distfiles” de Gentoo.

fusiongentoo-1_3_o
Preparo discos, stage3 y portage

Una vez que has hecho boot y tienes acceso a la red…

Configuración del disco

Crea la Partición 1 /boot de 50M, partición 2 SWAP de 512M y partición 3 ROOT con el resto hasta 20GB

Fecha

Seguir vía SSH

Puede que te interese seguir desde una sesión remota. En mi caso lo prefiero, abro un terminal (iTerm) en el Mac y conecto directamente contra la máquina virtual usando ssh, donde previamente he puesto una contraseña a root y arrancado el servicio. La razón: En VMWare Fusion todavía me captura el ratón y no tengo instaladas las tools así que prefiero la comodidad del entorno mac.

Descargar y descomprimir Stage3 y Portage

Descargo en /mnt/gentoo desde uno de los mirrors de gentoo

Entrar en el nuevo entorno

A partir de ahora entro ya directamente en el nuevo entorno con chroot, por lo tanto “/” (root) apuntará al nuevo disco que acabamos de formatear y donde hemos descomprimido todo el software. Importante copiar el resolv.conf 🙂

Fichero make.conf:

Elegir el Perfil adecuado

Este paso es importante. En mi instalación voy a dejar el sistema configurado con el nuevo systemd, por lo tanto tenemos que elegir el perfil adecuado. Ahora es el momento.

Portage

Hostname
Este sistema utilizará systemd, por lo tanto configuro locale, keymaps, fecha, etc. más adelante. Ahora solo preparo hostname.

Con systemd se deja de usar /etc/conf.d/hostname, así que voy a editar a mano directamente los dos ficheros que emplea:

Contraseña de root

Fndamental antes del siguiente boot !!!

Herramientas indispensables de Gentoo

Entorno gráfico

Aquí tienes que decidir qué prefieres, dado que es posible configurar esta máquina virtual de dos formas distintas.

  • Modo UVESA Frame Buffer
  • Modo VMWGFX Frame Buffer (mi preferida)

El primero, en modo UVESA, configuras en el kernel CONFIG_FB_UVESA. En este modo te va a funcionar el menú gráfico de Grub antes del boot, la splash screen durante el boot e incluso la aceleración 3D en X11. Ahora bien, lo malo es que no vas a poder conmutar a las consolas virtuales con Ctr-Alt-Fx, de hecho se cuelga la sesión X11.

Si quieres usar UVESA, aquí tienes el fichero .config para el modo de trabajo UVESA.
El segundo, en modo VMWGFX usas el driver frame buffer recomendado para Guest’s VMWare (CONFIG_DRM_VMWGFX_FBCON), soporta la aceleración 3D, se integra perfectamente con X11 y es posible conmutar a las consolas virtuales. La única desventaja es que no usa splash durante el boot, de hecho tampoco usa el menú gráfico de Grub antes del boot.

Si esta es tu elección, aquí tienes el fichero .config para el modo de trabajo VMWGFX (es mi opción preferida).
Porqué prefiero VMWGFX?. Porque prefiero usar un modo de arranque Silencioso y totalmente automatizado, estamos hablando de una máquinas virtual donde busco un arranque super rápido, por lo tanto no voy a ver los “splash” de todas formas (quizá durante una décima de segundo), así que mejor tener bien integrado X11 con las consolas.
Instalación del Kernel

Descarga del kernel

Descarga del fichero .config
Descarga una copia del fichero .config que prefieras de los dos anteriores. En mi caso uso el .config para VMWGFX, ambas son versiones para el kernel gentoo-sources-3.10.17 optimizadas para systemd y VMWare. Copia/Pega dicho contenido en el fichero /usr/src/inux/.config
Instalación de v86d

Instalación de Splashutils (solo si usas UVESA)

Los paquetes splash-themes-* se emplean para establecer el look durante el arranque y de las ventanas de consola. No los confundas con el tema de Grub que se usa antes del boot.

Compilación e instalación

Grub 2

Instalo Grub

Preparo Splash (solo si usas UVESA)

La resolución 1680×1050 es la que yo he elegido, porque me encaja con mi monitor de 27″. En tu caso adapta a la que más te convenga. Eso sí, ten en cuenta que en el siguiente reboot al cambiar a modo gráfico la ventana de VMWare se redimensiona a este tamaño.

Fichero /etc/default/grub

Configuración de grub.cfg

Instalación de systemd

Ejecuto algunos retoques e instalaciones para evitar bloqueos o problemas posteriores…

La “reinstalación” de openrc es importante (a una versión igual o superior a 0.12.4) para evitar conflicto con kmod

 

Reboot

Salgo del chroot, desmonto y rearranco el equipo

 

Configuración básica

Continuamos con la configuración básica del sistema. Ya hemos boot con systemd por primera vez, pero estás con el teclado en inglés, no te funciona la red, etc. no tienes locales, etc. Ahora empezamos a arreglar estas cosas. Lo primero y fundamental, el teclado 🙂
Teclado y Locale

Preparo el fichero locale.gen

La red

A “contectar”… Instalo, habilito y arranco DHCP. Los servicios en “systemd” se programan para futuros arranques con “systemctl enable” y se pueden arrancar o parar con “systemctl start/stop”

Nota: Aquí tienes un ejemplo de cómo hacer una configuración de dirección IP fija (manual).
SSHD

Otro indispensable, habilito y arranco el daemon de SSH para poder conectar con esta VM vía ssh.

Vixie-cron

Instalo, habilito y arranco el cron

Fecha y hora

Para configurar fecha/hora debe utilizarse “timedatectl”

 

Open-VM y systemd-ui

Instalo las tools de VMWare, su versión open source.

Actualizo a lo último

Rearranco el equipo, y al volver lo primero es hacer un “perl-cleaner” y luego un update completo.

Instalación Gnome

Instalación

Activo el modo gráfico por defecto

Activación de Gnome

Usuario y rearranque

Desde una shell añado un usuario normal y por último rearranco el equipo

Notas

Cambiar entre modo Consola o X11

Cambia el enlace simbólico y arranca la máquina virtual

Eliminar el mensaje “WRITE SAME failed”

Si durante el boot y justo antes de arrancar X11 ves ese mensaje, la forma de quitarlo es la siguiente:

Logging

Uno de los cambios interesantes es que desaparece la forma tradicional de ver los ficheros de log. Dejo aquí algunos comandos útiles:

Ver el log: journalctl
Ver el log de forma contínua: journalctl -f
Ver el log del último boot: journalctl -b
Log de boot, solo ERROR o superior: journalctl -b -p err
Log disco sda: journalctl /dev/sda
Log entre fechas: journalctl --since=2014-01-15 --until="2014-01-20 23:59:59
Desde ayer: journalctl --since=yesterday
Log de “ábaco”: journalctl /bin/abaco
Log de “ábaco” y además “curl”: journalctl /bin/abaco /bin/curl
Log de Apache: journalctl -u httpd --since=07:30 --until=08:30
SHHD de forma contínua: journalctl -f /usr/sbin/sshd