Esta es una guía con la intención de ayudarte a instalar Arch Linux en un ordenador UEFI con encripción de disco completo, si tus necesidades se diferencian de alguna manera, puedes consultar la guía de instalación original aquí. Vamos a empezar:

Aviso importante Link to heading

Por favor, lea cada paso con cuidado y si es posible, intente primero realizar la instalación dentro de una máquina virtual, no sé el alcance total de los posibles errores que esta guía podría tener, así que si detecta alguno, no dudes en avisarme!.

Descargando el .iso Link to heading

  1. Descarga el último archivo .iso de la página de Arch Linux

Crea una unidad USB booteable Link to heading

  1. Descarga y utiliza Ventoy para crear una unidad USB multi-booteable
  2. Arrastra el .iso de Arch Linux a la partición “Ventoy” creada en tu USB
  3. Descubre el botón de la BIOS de tu marca de ordenador y utilizalo para iniciar como sistema operativo tu unidad USB
  4. Una vez que llegues a la pantalla de inicio, solo selecciona las opciones por defecto

Puede que haga un tutorial de Ventoy en el futuro, estad atentos.

Configurar la distribución de teclado Link to heading

  1. Descubre el código para tu distribución de teclado, los códigos pueden ser vistos con ls /usr/share/kbd/keymaps
  2. Ejecuta loadkeys KB reemplazando “KB” con el código para tu distribución correcta

Por ejemplo, en mi caso ejecutaría loadkeys es para utilizar la distribución de teclado española.

Comprobar la compatibilidad UEFI Link to heading

  1. Una vez funciona bien nuestro teclado, podemos seguir adelante y verificar en un segundo que tenemos soporte UEFI ejecutando ls /sys/firmware/efi/efivars
  2. Si el comando de arriva no ha mostrado una gran cantidad de archivos, tu ordenador no tiene UEFI activada, si después de revisar la configuración de la BIOS no tienes soporte de UEFI, consulta la guía de instalación oficial, ya que una instalación de Arch Linux en BIOS supera el alcance de esta guía

Establecer la conexión a Internet Link to heading

Si estás conectado por cable deberías tener conexión sin necesidad de configurar nada.

  1. Si deseas utilizar Wi-Fi para la instalación, primero ejecuta iwctl
  2. Después, ejecuta station list para descubrir el nombre de tu interfaz de red inalámbrica
  3. Ahora ejecuta: station INTERFAZ_INALAMBRICA connect SSID y reemplaza INTERFAZ_INALAMBRICA con tu interfaz (por ejemplo, mi interfaz se llama wlan0) y SSID con el nombre de tu red Wi-Fi
  4. Una vez conectado, pulsa Ctrl+D para salir de iwctl

Particionado de disco Link to heading

Por favor, recuerda que los nombres de disco son usualmente diferentes en cada ordenador, te pido que ejecutes lsblk y revises por tí mismo cuál es el disco que deseas particionar, especialmente si tienes un ordenador con múltiples discos duros. Esto te ayudará a no borrar el disco equivocado.

Por cierto, si estás utilizando un disco NVMe, los nombres cambiarán de sda, sdb, etc… a algo parecido a “nvme0n1”, lsblk también te ayudará aquí.

  1. Ahora estamos entrando en la zona de peligro, por favor, lee el texto de arriba y asegurate de que sabes el nombre de disco correcto, a partir de ahora utilizaré /dev/sdX para referirme al disco de instalación, reemplaza la X con la letra correcta de tu disco
  2. Una vez estás seguro, ejecuta cfdisk /dev/sdX, desde aquí elige la tabla de partición GPT si cfdisk te pregunta, y en caso contrario, borraremos las particiones no deseadas.
  3. Con el nuevo espacio libre, selecciona “New” y crea una partición de 1G (Partición de inicio), y cambia su “Type” o tipo a “EFI System”
  4. Ahora selecciona el espacio libre restante, pulsa “New” otra vez y crea una nueva partición con todo el espacio restante (Partición root)
  5. Cuando acabes, pulsa “Write” y entonces “Quit”

Encriptando la partición root Link to heading

Si todo fue correctamente, ejecutar lsblk debería mostrar las nuevas particiones creadas.

  1. Ahora podemos encriptar nuestro sistema ejecutando cryptsetup luksFormat /dev/sdX2, la herramienta te pedirá una contraseña para iniciar tu sistema operativo, por favor, no te olvides de esta contraseña

Recuerda que el comando de arriba se ejecuta sobre la partición root, no sobre el disco entero.

  1. Ejecuta cryptsetup open /dev/sdX2 crypt para abrir tu partición encriptada

Creando los sistemas de archivos Link to heading

  1. Crea el sistema de archivos para tu partición de inicio ejecutando mkfs.vfat -F32 /dev/sdX1
  2. Crea el sistema de archivos para tu partición root ejecutando mkfs.ext4 /dev/mapper/crypt

Montando los sistemas de archivos Link to heading

  1. Ejecuta mount /dev/mapper/crypt /mnt para montar tu sistema de archivos root
  2. Ejecuta mount --mkdir /dev/sdX1 /mnt/boot para montar tu sistema de archivos de inicio
  3. Ejecuta lsblk para asegurarte de que todo fue bien

Crea el archivo swap Link to heading

El archivo swap es memoria de disco que será utilizada en caso de que no haya suficiente RAM, si te saltas este paso tu sistema se congelará cada vez que utilize demasiada memoria RAM.

La cantidad de swap que necesitas dependerá de tus necesidades, si no tienes intención de configurar hibernación entonces puedes utilizar mucho menos swap, personalmente utilizo 2GB de swap con 8GB de memoria RAM.

  1. Ejecuta dd if=/dev/zero of=/mnt/swapfile bs=1M count=xxxx status=progress y reemplaza “xxxx” con la cantidad de megabytes que quieres darle a tu swapfile
  2. Ejecuta chmod 600 /mnt/swapfile para darle los permisos correctos
  3. Ejecuta mkswap /mnt/swapfile para darle formato de swap
  4. Ejecuta swapon /mnt/swapfile para activar la swapfile

Pacstrap Link to heading

  1. Ahora para instalar los archivos de Arch Linux, ejecuta pacstrap -K /mnt base base-devel linux linux-firmware neovim

Puedes reemplazar neovim con tu editor de texto en terminal preferido

Generando /etc/fstab Link to heading

Este es un paso bastante importante, este archivo le dice a tu sistema operativo que particiones montar y donde al iniciar.

  1. Ejecuta genfstab -U /mnt >> /mnt/etc/fstab para generar una archivo fstab utilizando UUIDs de particiones

Haciendo chroot en el nuevo entorno Link to heading

  1. Ejecuta arch-chroot /mnt para cambiar de terminal a tu nuevo entorno Arch Linux

Configuraciones regionales Link to heading

  1. Ejecuta ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime (reemplaza /Europe/Madrid con tu zona horaria correcta)
  2. Ejecuta hwclock --systohc
  3. Edita /etc/locale.gen con tu editor preferido y descomenta las regiones que deseas utilizar (personalmente utilizo en_US y es_ES)
  4. Ejecuta locale-gen para generar los datos de región
  5. Ejecuta echo 'LANG=en_US.UTF-8' > /etc/locale.conf

El comando de arriba cambiará el idioma de visualización de tu sistema operativo, si deseas utilizar español o lo que sea, modifica el comando acordemente.

  1. Ejecuta echo 'KEYMAP=es' > /etc/vconsole.conf

Este se encarga de que distribución de teclado será utilizada por defecto en las TTYs, esto te ahorrará un dolor de cabeza después cuando inicies tu instalación, y como siempre, si utilizas una distribución diferente, modifica acordemente.

Configurar el nombre de host Link to heading

  1. Ejecuta echo 'genesis' > /etc/hostname y reemplaza genesis con tu nombre de host preferido
  2. Modifica /etc/hosts con tu editor preferido e inserta las siguientes líneas:
127.0.0.1   localhost
::1         localhost

Configurar initramfs para poder iniciar sistemas encriptados Link to heading

  1. Modifica /etc/mkinitcpio.conf con tu editor preferido y en la línea HOOKS, añade encrypt entre block y filesystems para que se parezca a algo así:
HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block encrypt filesystems fsck)
  1. Ejecuta mkinitcpio -P

Instalando el bootloader Link to heading

Reemplaza amd-ucode con intel-ucode si tienes un procesador Intel.

  1. Ejecuta pacman -S grub efibootmgr amd-ucode para instalar el bootloader y el microcódigo de CPU
  2. Ejecuta echo "GRUB_CMDLINE_LINUX=cryptdevice=UUID=$(blkid -s UUID -o value /dev/sdX2):crypt" >> /etc/default/grub

Recuerda reemplazar sdX2 con la partición de disco correcta, en caso contrario no podrás iniciar tu sistema!

  1. Después de ejecutar el comando de arriba, abre /etc/default/grub con tu editor preferido y reemplaza el “GRUB_CMDLINE_LINUX” original con el que has insertado dentro del archivo
  2. Sin cerrar tu editor, por favor recuerda descomentar la línea GRUB_ENABLE_CRYPTODISK=y dentro del archivo
  3. Ejecuta grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
  4. Ejecuta grub-mkconfig -o /boot/grub/grub.cfg

Configurando la contraseña root Link to heading

  1. Ejecuta passwd para configurar tu contraseña root

Toques finales Link to heading

Eso es todo! Ahora podríamos reiniciar si queremos y tendríamos un sistema en “funcionamiento”, pero hay algunas cosas de las que deberíamos encargarnos mientras sigamos aquí:

Instalando NetworkManager / iwd Link to heading

Estos dos nos ayudarán a conectarnos al Internet cuando inicies Arch Linux, pero solo puedes escoger uno de ellos, NetworkManager es más amistoso para novatos pero un poco pesado en recursos, mientras que iwd es un daemon de red mucho más minimalista, si no sabes que elegir, solo escoge NetworkManager:

NetworkManager Link to heading

  1. Ejecuta pacman -S networkmanager para instalar el daemon de red
  2. Una vez terminado, ejecuta systemctl enable NetworkManager para que el daemon empieze al reiniciar el sistema

Por cierto, recuerda las letras mayúsculas al tratar con NetworkManager, si ejecutas systemctl enable networkmanager no hará nada. Una vez que reinicies el sistema, lo único que tienes que hacer es ejecutar nmtui, que mostrará un menú de texto gráfico para conectarte a tu red inalámbrica.

iwd Link to heading

  1. Ejecuta pacman -S iwd para instalarlo
  2. Ejecuta systemctl enable iwd

Para conectarte a Wi-Fi después del reinicio, solo tienes que seguir los mismos pasos del principio de la guía, iwctl, station wlan0 connect, etc…

Creando una cuenta de usuario Link to heading

Recuerda reemplazar “raul” con tu nombre de usuario preferido!

  1. Ejecuta useradd -m -G wheel,games,network,audio,video -s /bin/bash raul
  2. Ejecuta EDITOR=nvim visudo y descomenta la línea %wheel ALL=(ALL:ALL) ALL

Reemplaza nvim arriba con tu editor preferido, este paso le dará a tu usuario creado privilegios administrativos.

  1. Ejecuta passwd raul o cual sea tu usuario, y dale a tu cuenta una contraseña también

Reduciendo la swappiness Link to heading

Swappiness es la frecuencia con la cual tu sistema hará uso de la memoría de disco, a no ser que tengas 4 GB de RAM, querrás reducir este valor para incrementar el rendimiento de tu sistema, ajusta el valor a lo que se adapte bien a tu sistema.

  1. Ejecuta echo 'vm.swappiness=20' > /etc/sysctl.d/99-swappiness.conf

Terminando Link to heading

Eso debería ser todo! Ahora pulsa Ctrl+D para salir de la sesión chroot y ejecuta reboot para iniciar tu nueva instalación de Arch Linux (recuerda desconectar la unidad USB después de reiniciar), una vez atravieses la pantalla de inicio de sesión te darás cuenta de que no hay nada más que una terminal, eso es porque aquí es donde empieza la aventura de verdad, probablemente querrás un entorno de escritorio para utilizar tu ordenador.

Por cierto, recuerda el consejo de antes de utilizar nmtui para conectarte a tu red Wi-Fi.

Mientras que esto vaya en contra de la esencia de construir tu propio entorno de trabajo, si quieres algo que funcione y ya está, puedes ejecutar el siguiente comando:

sudo pacman -Syu xorg xorg-server ffmpeg4.4 ffmpegthumbnailer tumbler gvfs ttf-roboto ttf-roboto-mono xfce4 xfce4-goodies lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings pulseaudio pulseaudio-alsa pulseaudio-jack && sudo systemctl enable lightdm

Y reinicia tu sistema! XFCE es un gran entorno de escritorio muy ligero y que “funciona y ya está”.