Instalación Arch Linux (2023). UEFI

Esta guía está pensada para una instalación de Arch Linux (2023.04.01) sobre un PC con sistema UEFI. Como mi anterior guía, debe considerarse sólo como referencia. La instalación se ha completado con éxito con un hardware específico que podría no ser el suyo. Es posible que con el tiempo algunos de los comandos o de los procedimientos cambien y sea necesario revisitar la wiki oficial de la distribución. El objeto en este caso es mi PC de sobremesa, el cual he estado usando hasta el momento como principal. No es un ordenador muy viejo pero meses atrás la gráfica empezó a dar problemas (debe estar más que desgastada) y los ruidos y vibraciones no lo hacen demasiado apto para la escritura. Tras usar un ordenador menos potente pero silencioso para el trabajo he decidido darle a éste una segunda vida y dedicarlo para realizar pruebas sobre seguridad, protocolos de transmisión y encriptación de datos.

[Revisado en septiembre de 2023]

  • Asus PRIME B360M-A
  • 16 GB de RAM DDR4 (2400 MHz)
  • Intel Core i7-8700 x12 CPU @ 3.2Ghz
  • GeForce GTX 1060 6GB GDDR5
  • Disco duro SSD 1 TB SATA3
  • Disco duro HDD 1 TB SATA3

Paso 1. Imagen del sistema

El primer paso es contar con una imagen de Arch Linux. Para obtenerla podemos irnos a la página principal del proyecto, ir a la sección download y escoger una de las opciones disponibles. La propia página recomienda hacer uso del torrent. También podemos encontrar imágenes para el Docker y una lista de mirrors para la descarga directa. El tema del Checksums es relevante porque es muy importante verificar que la imagen descargada no esté corrompida. Una vez descargada, lo que tenemos es un archivo ISO que podemos quemar en un dispositivo de lectura, sea CD, DVD o USB. Normalmente me decanto siempre por el USB por la facilidad y rapidez del procedimiento. También vale la pena conservar siempre o bien una copia del disco de instalación o una imagen live-cd de otra distribución. Una vez, tras una actualización que no pareció integrarse bien con algún módulo del kernel compilado previamente, el sistema dejó de funcionar. Por eso es prudente tener siempre una segunda opción para poder realizar una instalación sin contar con internet.

En cuanto al dispositivo USB, podemos montar la imagen utilizando software dedicado a ello. Los más utilizados y recomendados suelen ser Rufus o UNetbootin. Esta vez hice la copia con BalenaEtcher. Sólo hay que elegir el archivo con arch, el dispositivo USB y listo. Después de realizar la escritura, debemos colocar el dispositivo en su correspondiente ranura y arrancar el ordenador. A veces hay que entrar dentro del módulo de arranque (usando F2 aunque puede variar según otros fabricantes) para elegir la ruta o modificar las preferencias. Tras realizar estos ajustes si fuera necesario, nos aparecerá el menú de Arch Linux. Al indicarle que queremos realizar una instalación [Arch Linux install medium (x86_64, UEFI)], el sistema se cargará en la memoria RAM y pronto nos aparecerá una terminal lista para nuestros comandos.

Paso 2. Particionado

En esta segunda fase, debemos hacer los preparativos previos a la instalación. Escoger la distribución de teclado, hacer la tabla de particiones y darles formato. Lo normal si estamos con sistemas más recientes es que estemos ante un sistema UEFI en lugar de BIOS. Esta guía está diseñada para funcionar con el primero. Si queremos cerciorarnos de esto podemos lanzar el comando:

ls /sys/firmware/efi/efivars

Si el sistema nos muestra una serie enunciados es que estamos en UEFI. Por el contrario, si nos da error, es que el sistema empleado es BIOS y en este caso debería usted buscar una guía adaptada para este tipo de sistemas. Siguiendo con la guía, lo que vemos al principio es una terminal con el usuario root (el administrador en sistemas GNU/Linux). Para facilitar el seguimiento he dividido esta parte en cuatro apartados.

1 – Cargar el teclado en español.

Con esto nos aseguramos de que el teclado esté con la distribución correcta, de tal manera que no nos cueste encontrar los símbolos / y . Si nuestro sistema es otro diferente por cualquier motivo podemos ver una lista de las distribuciones en directorios como [usr/share/kbd/keymaps/i386/qwerty/]. No todos los teclados son qwerty, aunque he de decir que nunca he tenido la oportunidad de escribir con otros. Para poner el teclado en español simplemente escribimos lo siguiente:

loadkeys es

2 – Leer unidades de almacenamiento y hacer la tabla de particiones.

Para conocer las características de la unidad de almacenamiento con la que partimos debemos escribir:

fdisk -l

Esto nos mostrará los dispositivos de almacenamiento conectados, incluyendo el propio USB donde hemos instalado la imagen del sistema operativo. Podemos usar las que ya tenemos o bien crear un nuevo mapa para organizar las particiones. En cualquier caso, lo más sensato si ya hemos limpiado el disco duro de datos, es reorganizar la tabla según los requerimientos y los propósitos que tengamos para con el PC. El comando en mi caso me muestra una serie de particiones ya hechas. Uno de los discos aparece como sda con múltiples particiones y el sdb con una sola partición, aunque en mi caso es un disco nuevo ya que el original era de 2TB y debido al uso prolongado parecía algo roído por dentro y he decidido colocarlo en una carcasa externa como segundo backup para archivos de menor importancia.

Hay gente que recomiendan usar varios comandos para esta fase. Yo me he decantado por el cfdisk, que viene con una interfaz gráfica (aunque no muy moderna). Para lanzar esta aplicación tecleamos:

cfdisk

Una vez dentro, podemos borrar las particiones o simplemente reestructurarlas. En mi caso he borrado la tabla entera y he realizado una ya clásica división entre cuatro partes. Al estar en UEFI no debemos olvidarnos que trabajos con «gpt» y no con «dos». Para crear cada partición debemos darle a NEW. Entonces ponemos el tamaño (p.ej, 10GB, 500MB), elegimos el tipo de partición con TYPE y luego escribimos con WRITE. En mi caso han sido:

sda1 de 1 GB tipo EFI System
sda2 de 20 GB tipo Linux swap
sda3 de 220 GB tipo Linux filesystem
sda4 de 800 GB tipo Linux home

Para comprobar que las particiones se han creado podemos volver a usar el comando fdisk -l.

3 – Formatear las particiones.

Una vez creadas las particiones debemos formatearlas. En este caso he optado de nuevo por el sistema ext4. Siguiendo el orden de las particiones de arriba, los comandos (cada uno por separado) son los siguientes:

mkfs.fat -F 32 /dev/sda1
mkswap /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4

4 – Montar particiones y activar swap.

Ahora debemos montar estas particiones en el directorio /mnt para poder trabajar con ellas durante la instalación. Los comandos siguientes, también empleados por separado, lo que hacen son montar primero la partición raíz (sda3), luego las particiones que van dentro de ésta y finalmente activar la paginación de la memoria swap.

mount /dev/sda3 /mnt
mount --mkdir /dev/sda1 /mnt/boot
mount --mkdir /dev/sda4 /mnt/home
swapon /dev/sda2

Paso 3. Instalación

Cuando ya tenemos creadas las particiones y éstas están formateadas y debidamente montadas, podemos proceder a la instalación. Debido a las dificultades que desempeña la conectividad inalámbrica durante la instalación, normalmente realizaremos este paso a través de una conexión con cable ethernet. Para asegurarnos de que hay conexión podemos hacer un ping. Para la instalación utilizaremos el script de pacstrap. Podemos añadir al comando aquel programa que necesitemos al principio. En este caso he separado los tres fundamentales que recomiendan en la guía con aquellos que considero igualmente esenciales.

pacstrap -K /mnt base linux linux-firmware nano dhcp grub

Tras la instalación que puede demorarse unos minutos, debemos fijar la tabla de particiones creada en el fstab del sistema de tal manera que éste se cargue al arrancar el PC.

genfstab -pU /mnt >> /mnt/etc/fstab

Paso 4. Configuración

Ahora accedemos al sistema base como root con el siguiente comando:

arch-chroot /mnt

Le damos un nombre a la máquina. Con el editor nano ya instalado, podemos editar un archivo de texto plano. En el caso de que éste no exista, el comando lo creara y podremos guardarlo. El siguiente comando es para dar nombre a la máquina. Sólo debemos escribir en una línea el nombre y darle a guardar.

nano /etc/hostname

Podemos realizar otras configuraciones como la zona horaria. En este caso podemos crear un enlace simbólico con un archivo ya creado. El segundo comando es una utilidad que recomiendan emplear en la guía.

ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime
hwclock --systohc

Para elegir idioma, editamos con nano el archivo localizado en [/etc/locale.gen]. Nos aparecerá una lista y simplemente debemos quitar la almohadilla (#) para indicar cuál debe ser leído. En nuestro caso es es_ES.UTF-8. Para generar el archivo locale después de guardar la configuración, escribimos:

locale-gen

Ahora queda un paso donde hay que prestar atención. Debemos instalar el grub para que cuando arranquemos la computadora nos aparezca el menú que nos permitirá elegir y/o arrancar el sistema operativo. El primer comando instala el grub en el directorio y el segundo crea el archivo de configuración. Debemos leer las líneas para asegurarnos de que no lance ningún error. De ser así, podríamos echar a perder la instalación y tendríamos que o bien empezar de cero o tratar de restaurar el grub a través de alguna herramienta.

grub-install --efi-directory=/boot --bootloader-id=grub --target=x86_64-efi --removable
grub-mkconfig -o /boot/grub/grub.cfg

Tras esto, podemos escoger la contraseña para el root y de paso crear una serie de usuarios. El primer comando sirve para asignar contraseña al administrador y los otro sirven para añadir un usuario a un grupo, darle privilegios y contraseña. En este caso debemos sustituir la palabra ahasvero por el nombre que le queramos dar.

passwd
groupadd ahasvero
useradd -m -g ahasvero -s /bin/bash ahasvero
passwd ahasvero

Ahora sólo nos queda salir del usuario root con el comando exit, desmontar las particiones y reiniciar. Podemos entonces quitar el USB con seguridad.

umount -R /mnt
reboot

Paso 5. Entorno gráfico

Tras reiniciar, podremos ver el menú conocido como GRUB. Tras elegir Arch Linux, nos volverá a aparecer la terminal. Sin embargo, ahora estaremos dentro del sistema operativo propiamente dicho.

1 – Dar permisos a usuarios y actualizar sistema.

Al reiniciar el ordenador con la orden reboot nos saldrá el menú del grub y por defecto accederemos al sistema operativo recién instalado. Si no hay ningún problema nos saldrá de nuevo una terminal y nos pedirá el nombre del usuario y la contraseña. Accedemos como root. En mi caso he optado por crear varios usuarios además del root, un usuario con permisos de administrador y un usuario con permisos muy limitados para trabajar de manera más segura. Para realizar configuraciones al inicio de manera rápida podemos añadir un usuario al grupo sudoers. Para ello nos logueamos como root y modificamos el archivo sudoers:

nano /etc/sudoers

Y escribir en la última línea el nombre del usuario (en este caso, se hace referencia a un usuario llamado ahasvero seguido de las siguientes variables:

ahasvero ALL=(ALL:ALL) ALL

2 – Actualizar sistema e instalar paquetes.

Para actualizar el sistema debemos hacer uso del comando pacman. Antes de lanzarnos con él debemos asegurarnos de que la conexión a internet es estable.

pacman -Syyu

La instalación los servidores gráficos y los controladores de la tarjeta gráfica puede complicarse en algunos casos debido a la gran variedad de productos y el tipo de firmware que usan. Desde la web del fabricante pueden descargarse los archivos necesarios aunque en el caso de Arch se recomienda hacer uso de los que aparecen en los repositorios ya que están integrados con el resto de paquetes. Para más información puede consultar la página de Xorg y los siguientes apartados para los dispositivos Nvidia, Intel y AMD. En estas páginas podemos ver las principales recomendaciones.En mi caso he optado por instalar los drivers libres para la aceleración 3D.

En mi caso probé a instalar xorg y los paquetes libres para intel, incluyendo xf86-video-nouveau y mesa. No obstante, también probé la instalación con nvidia y nvidia-utils y no tuve problemas. Para una configuración avanzada o la instalación de wayland, es importante ver primero la guía. Es crucial que antes de pasar a instalar el entorno de escritorio, debemos tener esta parte terminada.

Para el sonido, con alsa o jack, la mayor parte de ocasiones es más que suficiente a no ser que contemos con alguna tarjeta de sonido dedicada y necesitemos mayores prestaciones. Si tenemos periféricos u otros dispositivos conectados a la placa base y el sistema no los reconoce, tendremos que recurrir a guías, foros y wikis con tal de encontrar una solución.

3 – Entorno de escritorio.

Como en mi anterior guía, me he decidido nuevamente por el escritorio gnome. Aunque no me ha gustado especialmente la deriva que ha llevado me siento más cómodo con él y me gusta el sistema de doble barra y la forma simple de los menús. Tenemos que tener en cuenta que hay otros como KDE, Xfce, Cinnamon, Mate, Lxde o Lxqt. Para instalar el gnome primero instalamos los paquetes principales y luego el entorno gráfico del login. Finalmente lo activamos.

pacman -S gnome gnome-extra
pacman -S gdm
systemctl enable gdm

Ahora configuramos el inicio del entorno de escritorio

nano /home/ahasvero/.xinitrc

Dentro añadimos en la primera línea: exec gnome-session

exec gnome-session

Ahora sólo nos queda reiniciar y comprobar que nos aparece nuevamente el menú GRUB. Tras éste nos debería aparecer no la terminal sino ya el sistema de login del entorno de escritorio Gnome. Ahora podemos entrar como uno de los usuarios creados haciendo uso de la contraseña. Una vez dentro veremos el menú y comprobaremos que la opción de wifi está disponible. Con la terminal podremos seguir instalando programas como root aunque una parte de la personalización del escritorio también la podemos hacer desde la configuración. Lo importante es familiarizarse, encontrar guías e ir configurando opciones más avanzadas que implican la seguridad, los repositorios y la integración con los dispositivos que vayamos a usar (impresoras, sistemas como Samba o pihole). Recomiendo este apartado que construí hace un tiempo donde pongo algunas de las aplicaciones de escritorio fundamentales para sistemas GNU/Linux.

Opcional. Configuración de Internet.

En mi caso, tuve problemas con la red y antes de instalar los paquetes tuve que realizar una configuración mínima del cable ethernet. Para ello, hay que usar los siguientes comandos.

systemctl enable systemd-networkd
systemctl start systemd-networkd
systemctl enable systemd-resolved
systemctl start systemd-resolved

Con el comando ip address podemos ver una salida con los dispositivos detectados. El nombre del dispositivo aparecerá al inicio de la descripción. En mi caso fue enp5s0. En cada caso, el nombre será diferente pero debe ser parecido. Con este nombre editamos el siguiente archivo.

nano /etc/systemd/network/20-wired.network

Y dentro del documento en blanco colocamos lo siguiente, cambiando el enp5s0 por el nombre del dispositivo que tengamos en el paso anterior.

[Match]
Name=enp5s0

[Network]
DHCP=es

Al guardar, como el archivo no existe, se creará tal cual. Luego, activamos los siguientes comandos.

systemctl restart systemd-networkd
systemctl restart systemd-resolved

Tras esto, sólo nos queda hacer un ping para comprobar si hay conexión. Si no ha habido ningún problema, ya podremos seguir con la instalación. Para continuar, instalé el Network manager que cuenta con una interfaz gráfica para configurar la red y procedí a instalar el firmware de la tarjeta de red inalámbrica. El comando lspci nos permite listar los componentes del equipo. Una vez identificado, en la siguiente lista podemos ver una tabla completa de drivers. En mi caso, el componente era Broadcom, así que procedía a instalar el paquete b43. En este apartado conviene tener claro qué componente tenemos en el ordenador y mirar detenidamente la información de esta web.

Suscríbete


Indíquenos su correo. Le avisaremos con cada nueva entrada.

Boletín libre de spam. Su correo está seguro con nosotros. *

Deja un comentario