~yaca/drimyswinteri

drimyswinteri/org/static/guiagentoo.md -rw-r--r-- 14.3 KiB
4890e789 — yaca draft 4 days ago

#Índice

  1. Iniciando Ubuntu
  2. Particionado
  3. Formateo de particiones
  4. Swap y montado
  5. Descarga y extracción del stage
  6. Mirrors
  7. Preparando el entorno chroot
  8. Poniendo el sistema al día
  9. Zona horaria
  10. Localización
  11. FSTAB
  12. Kernel
  13. Hostname y conexión a internet
  14. Clave root, distribución del teclado y reloj
  15. Instalación de paquetes
  16. Grub
  17. Finalizando

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:

![img](img/gentoo/01 - probar ubuntu.png)

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.

![img](img/gentoo/02 - lsblk.png)

#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:

![img](img/gentoo/03 - parted.png)

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

![img](img/gentoo/04 - formateo.png)

#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:

![img](img/gentoo/05 - copiar link.png)

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

![img](img/gentoo/06 - stage3.png)

Luego de extraer los contenidos del stage3 podemos ver que aparecieron varias carpetas con el comando “ls”

![img](img/gentoo/07 - ls.png)

#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:

![img](img/gentoo/08 - repos.png)

#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

![img](img/gentoo/08 - webrsync.png)

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

![img](img/gentoo/09 - webrsync.png)

#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

![img](img/gentoo/11 - timezone.png)

#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:

![img](img/gentoo/12 - locale.png)

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'>

![img](img/gentoo/13 - locale select.png)

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

![img](img/gentoo/14 - lsblk -f.png)

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):

![img](img/gentoo/15 - fstab.png)

Guardamos los cambios y ahora vamos a instalar el kernel.

#Kernel

Primero aceptamos la licencia del firmware-nonfree y después lo instalamos (puedes omitir este paso si estás segur@ de que no necesitas software privativo):

(chroot)# echo "sys-kernel/linux-firmware linux-fw-redistributable no-source-code" \
	>> /etc/portage/package.license
(chroot)# emerge --ask --verbose --quiet sys-kernel/linux-firmware

Ahora instalaremos el kernel-binario. No instalaremos Genkernel, ni configuraremos un kernel desde cero porque no es necesario para tener un sistema andando. Luego de que tengas un sistema base funcionando puedes, si quieres, compilar tu propio kernel.

(chroot)# emerge --ask --verbose --quiet sys-kernel/installkernel-gentoo
(chroot)# emerge --ask --verbose --quiet sys-kernel/gentoo-kernel-bin

#Hostname y conexión a internet

Ponemos el hostname, este será el nombre de nuestra máquina. En mi caso le pondré minigento:

(chroot)# nano -w /etc/conf.d/hostname

![img](img/gentoo/18 - minigentoo.png)

Mi máquina no pertenece a ningún dominio, así que sacamos el dominio para que no aparezca al bootear borrando “.\O” de /etc/issue:

(chroot)# nano -w /etc/issue

![img](img/gentoo/19 - issue.png)

Ahora debemos activar el internet para que funcione al inicio del booteo, para esto usaremos ifconfig para saber el nombre de nuestra interfaz (en mi caso es enp0s3):

(chroot)# ifconfig
(chroot)# cd /etc/init.d
(chroot)# ln -s net.lo net.<’nombre de la interfaz’>
(chroot)# rc-update add net.<’nombre de la interfaz’> default

![img](img/gentoo/20 - netscripts.png)

Ahora escribimos nuestro nombre en la red (es importante para definir el localhost):

(chroot)# nano -w /etc/hosts

![img](img/gentoo/21 - localhost.png)

#Clave root, distribución del teclado y reloj

Ahora vamos a configurar la clave de root, es importante que no se nos olvide pues será la clave de superusuario de nuestro sistema. Luego podemos editar la distribución del teclado, en mi caso es español latinoamericano, por lo que pongo “la-latin1”.

(chroot)# passwd
(chroot)# nano -w /etc/conf.d/keymaps

![img](img/gentoo/22 - keymaps.png)

Por último, configuramos nuestra hora. Si tu reloj interno de la bios está en UTC pones UTC, en otro caso pones local (en mi caso es UTC).

(chroot)# nano -w /etc/conf.d/hwclock

![img](img/gentoo/22 - utc.png)

#Instalación de paquetes

Ahora debemos instalar un systemlogger, en mi caso usaré sysklogd y lo agregamos al inicio. También debemos instalar el paquete sys-fs/dosfstools porque nuestra partición boot está en formato vfat. Lo último será un cliente dhcp, la mayoría de las personas usan dhcp para conectarse a internet por lo que es buena idea instalar uno.

(chroot)# emerge --ask --verbose --quiet app-admin/sysklogd \
	sys-fs/dosfstools net-misc/dhcpcd
(chroot)# rc-update add sysklogd default

![img](img/gentoo/23 - sysklogd.png)

#Grub

Ahora pasamos a instalar el cargador de arranque, existen varias opciones pero la más conocida es Grub:

(chroot)# emerge --ask --verbose sys-boot/grub:2
(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot
(chroot)# grub-mkconfig -o /boot/grub/grub.cfg

![img](img/gentoo/24 - grub.png)

#Finalizando

Ya con grub instalado hemos terminado la instalación, solo resta desmontar las particiones y reiniciar la máquina.

(chroot)# exit
root# cd
root# umount -l /mnt/gentoo/dev{/shm,/pts,}
root# umount -R /mnt/gentoo
root# reboot

Con eso concluye la guía rápida de instalación (No era tan rápida cierto?). Cuando domines lo que escribí puedes empezar a personalizar tu instalación y crear un sistema gentoo hecho a la medida para tu máquina. Si por casualidad falla, puedes volver a intentarlo. Lo importante es que no te desanimes, la última década las distintas distribuciones top se han preocupado de facilitar el proceso de instalación por lo que no es tu culpa no saber cómo se hace, sólo debes entender que Gentoo no es una distribución normal.

Si tienes alguna duda, sugerencia o crítica eres bienvenid@ al grupo de telegram "Gentoo Linux en español", allí me puedes encontrar como @yacaCL. Saludos!