Guía de instalación básica y mínima de Gentoo - Usando Ubuntu
Índice
- Iniciando Ubuntu
- Particionado
- Formateo de particiones
- Swap y montado
- Descarga y extracción del stage
- Mirrors
- Preparando el entorno chroot
- Poniendo el sistema al día
- Zona horaria
- Localización
- FSTAB
- Kernel
- Hostname y conexión a internet
- Clave root, distribución del teclado y reloj
- Instalación de paquetes
- Grub
- Finalizando
Descarga esta guía en pdf o revísala en markdown.
En el grupo de telegram "Gentoo Linux en español" han aparecido varias personas que lo instalan por primera vez y tienen problemas o les falla. Mi recomendación es siempre hacer una instalación "por defecto", es decir, no personalizar nada, ni instalar nada, ni configurar nada que no sea estrictamente necesario. Es por esta razón que decidí hacer una guía rápida de una instalación básica, simple y mínima, a modo de evitar errores y tener un sistema que arranque sin problemas, y que luego podamos modificar a gusto sabiendo que ya funciona.
Bueno, otra cosa es que usan el cd mínimo que proporciona la web de Gentoo, que en mi opinión ayuda a entorpecer el proceso porque a veces por el hecho de escribir mal un comando todo falla. Es por esto que prefiero usar distros en modo live, como Ubuntu, para poder copiar y pegar los distintos comandos que se necesitan, minimizando las probabilidades de fallar, y en esta guía trataré de enseñarte a tí como hacerlo para que tu instalación funcione.
Atención!: Vamos a partir del supuesto que mi máquina usará UEFI, no tendrá wifi, tiene 4Gb de RAM y tiene 20Gb de Disco Duro. Las imágenes que verás en esta guía son referenciales, puede que algunas no sean coherentes (como en la fecha) por lo que no debes tomarlas con total seriedad. Los comandos por otra parte son 100% reales y son los que debes usar (copiar y pegar por ejemplo). Es muy buena idea que intentes seguir el manual oficial de gentoo para ver de lo que te pierdes, esta guía es en su mayoría express, y debe ser tomada como entrenamiento para en un futuro poder instalar gentoo de manera completa sin errores.
Iniciando Ubuntu
Ya leído lo anterior vamos a empezar iniciando un live de Ubuntu y le damos a probar:
Verificamos que estemos conectados a internet y luego abrimos un terminal e ingresamos como root con:
user $
sudo -i
Luego con:
root #
lsblk
Podemos ver cuál es nuestro disco duro, en mi caso es /dev/sda.
Particionado
Particionamos el disco. En mi caso usaré parted, crearé la partición boot de 512mb, swap de 2gb y el resto lo dejaré para el sistema (/).
root #
parted -a optimal /dev/sda
(parted) mklabel gpt
(parted) unit mib
(parted) mkpart esp fat32 1 513
(parted) mkpart swap linux-swap 513 2561
(parted) mkpart rootfs ext4 2561 100%
(parted) set 1 boot on
El resultado se puede ver escribiendo “print” o “p”, como se ve en la siguiente imagen:
Cerramos parted con “quit” o “q” y seguimos.
Formateo de particiones
Ahora toca formatear las particiones. Boot debe ser fat32 porque estamos usando uefi, swap debe ser swap y root debe ser ext4:
root #
mkfs.vfat -F 32 /dev/sda1
root #
mkswap /dev/sda2
root #
mkfs.ext4 /dev/sda3
Swap y montado
Activamos el swap, creamos la carpeta /mnt/gentoo y montamos root ahí.
Nota: La carpeta /mnt/gentoo ya está creada en el cd oficial de gentoo pero en Ubuntu no existe, por eso la creamos.
root #
swapon /dev/sda2
root #
mkdir /mnt/gentoo
root #
mount /dev/sda3 /mnt/gentoo
Descarga y extracción del stage
Ahora es importante ir a la página de descargas de gentoo y copiar el enlace de descarga del stage3, tal como se ve en la imagen:
Ahora nos movemos a la carpeta /mnt/gentoo y descargamos el stage3 con wget y el link que copiamos, cuando termine la descarga extraemos el contenido con tar:
root #
cd /mnt/gentoo
root #
wget <'link del stage 3'>
root #
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
Luego de extraer los contenidos del stage3 podemos ver que aparecieron varias carpetas con el comando “ls”
Mirrors
Procedemos a editar el archivo make.conf que viene dentro del stage3, lo importante aquí es poner “-march=native” y el makeopts que corresponda. El número del makeopts lo puedes saber con el comando “nproc”, en mi caso mi procesador es un dualcore así que nproc me arroja 2. Aprovechamos también de especificar los mirrors desde donde descargaremos los paquetes y de especificar efi-64 para grub.
Nota: El cd oficial de gentoo trae la herramienta “mirrorselect” para elegir los mirrors de forma interactiva, como Ubuntu no la trae voy a pasar los mirror que me mejor me han funcionado. Puedes elegir tus propios mirrors buscando uno que sea físicamente cercano a tu locación en: https://www.gentoo.org/downloads/mirrors/
root #
nproc
root #
nano -w /mnt/gentoo/etc/portage/make.conf
root #
echo 'GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ http://gentoo.ussg.indiana.edu/ http://mirrors.rit.edu/gentoo/"' >> /mnt/gentoo/etc/portage/make.conf
root #
echo 'GRUB_PLATFORMS="efi-64"' >> /mnt/gentoo/etc/portage/make.conf
El resultado final del make.conf debería ser algo como esto:
Preparando el entorno chroot
A partir de este punto podemos re-continuar la instalación en caso de que se corte, sólo hay que volver a montar root en la carpeta /mnt/gentoo y lo demás que montaremos a continuación.
Ahora montaremos los puntos necesarios y haremos chroot en nuestro gentoo. Todo lo que hagamos entro del chroot quedará guardado en gentoo, en otras palabras, es como si estuviéramos en una máquina virtual.
A continuación, copiamos la configuración de los repos luego de crear la carpeta repos.conf:
root #
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
root #
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Luego copiamos la información dns para asegurar que el internet funcionará cuando hagamos chroot:
root #
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
Ahora montamos los sistemas de ficheros necesarios:
root #
mount --types proc /proc /mnt/gentoo/proc
root #
mount --rbind /sys /mnt/gentoo/sys
root #
mount --make-rslave /mnt/gentoo/sys
root #
mount --rbind /dev /mnt/gentoo/dev
root #
mount --make-rslave /mnt/gentoo/dev
Y finalmente hacemos chroot para luego montar boot:
root #
chroot /mnt/gentoo /bin/bash
root #
source /etc/profile
root #
export PS1="(chroot) ${PS1}"
(chroot) #
mount /dev/sda1 /boot
Poniendo el sistema al día
Luego actualizamos los repos con:
(chroot) #
emerge-webrsync
Como estamos realizando una instalación básica dejamos el perfil por defecto y de inmediato actualizamos el sistema:
(chroot) #
emerge --ask --verbose --quiet --update --deep --newuse @world
Seguramente luego de actualizar todo tendremos un mensaje “IMPORTANT” de noticias (news), podemos quitarlo con:
(chroot) #
eselect news read
Zona horaria
Ahora toca configurar la zona horaria, en mi caso usaré los datos de donde vivo, Chile. Primero vemos las opciones disponibles con ls:
(chroot) #
ls /usr/share/zoneinfo
(chroot) #
echo "Chile/Continental" > /etc/timezone
Aplicamos los cambios con:
(chroot) #
emerge --config sys-libs/timezone-data
Localización
Ahora toca configurar la localización que se usa para determinar la moneda, horarios, etc dependiendo del idioma y país:
(chroot) #
nano -w /etc/locale.gen
Dentro del archivo debemos especificar en formato idioma_PAÍS.codificación. La codificación que recomiento es siempre UTF-8 que es la más universal:
Luego de editar guardamos y le damos a:
(chroot) #
locale-gen
Ahora toca seleccionar el locale que acabamos de generar, para ver los disponibles hacemos:
(chroot) #
eselect locale list
Y seleccionamos el nuestro con:
(chroot) #
eselect locale set <'número de tu locale'>
Reiniciamos nuestro entorno y continuamos:
(chroot) #
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
FSTAB
Ahora vamos a establecer nuestro fstab. Esta fase es muy importante, porque genkernel (lo que usaremos más adelante para generar el kernel) se basa en el fstab para generar la configuración. La verdad no es tan difícil, en lo que hay que poner mucha atención es en los identificadores de las particiones (UUID) porque si nos equivocamos el sistema NO ARRANCARÁ. Para conocer el UUID de nuestras particiones hacemos:
(chroot) #
lsblk -f
Como se ve en la imagen el UUID aparece a la derecha del tipo de partición (vfat para boot, swap, ext4 para root). Es importante tener esos datos a mano, por lo que recomiendo abrir otra terminal o pestaña y escribir lsblk en esa para luego copiar al fstab. Para editar el fstab hacemos:
(chroot) #
nano -w /etc/fstab
Dentro debería quedar así (los UUID pueden ser diferentes en tu caso):
Guardamos los cambios y ahora vamos a instalar el kernel.