Nauta

Instalación Arch Linux (UEFI)

Logotipo Arch Linux

Esta guía ha sido elaborada en febrero de 2022, utilizando la distribución Arch Linux (2002.02.01) sobre un portátil Toshiba. Se trata de una instalación realizada sobre UEFI, con una versión concreta de Arch Linux y un hardware específico, con lo cual debe ser tomada sólo como referencia.

ATENCIÓN [Tras una nueva instalación de Arch sobre un PC de sobremesa he podido comprobar que esta guía tiene algunas partes desfasadas. Recomiendo por tanto ver la nueva guía realizada en mayo de 2023].

  • Toshiba Satellite C70-B, con UEFI
  • 4 GB de RAM DDR3 (1600 MHz)
  • Intel Core i3-4005U CPU @ 1.70GHZ x4
  • Intel HD Graphics 4400 (HSW GT2)
  • Disco duro 1 TB SATA (5.400 rpm)

Parte 1. Preparativos previos

Hay varias maneras de descargar la imagen de Arch Linux y cargarla en el PC. No obstante, yo voy aquí a explicar cuál ha sido mi camino a seguir. Lo primero que necesitamos es una imagen de la distribución, un dispositivo donde montarla y un software para realizar este primer paso.

Yo he optado por descargar la imagen desde la web oficial. Para ello nos vamos a esta web, pinchamos en la sección Download y allí descargamos la imagen ISO. Hay otras formas de realizar la instalación, como Netboot. No obstante, a mí me parece más fácil y sencillo descargar la imagen ISO a través de un cliente Torrent y montar esa imagen en un dispositivo usb. Para ello podemos usar muchos programas como Rufus o UNetbootin. Mi paso concreto ha sido escribir el ISO en una memoria usb. Tras la instalación, debemos hacer que cargue ésta en lugar del disco duro principal. Si no viene por defecto así, debemos acceder primero al módulo de arranque (en mi caso ha sido utilizando la tecla F2) durante los primeros segundos tras el encendido del ordenador e indicarle directamente que cargue el USB o modificar la jerarquía de rutas. Cuando carga vía usb en lugar de aparecernos el grub o cargar Windows, nos saldrá un menú de Arch en cuya primera opción podemos darle a instalar.

Parte 2. Configuración temporal.

Cuando le damos a instalar nos aparecerá una terminal cargada en la memoria ram que viene por defecto con un usuario root (el administrador). Lo primero que haremos son unos preparativos para facilitar la instalación.

  • Cargar el teclado en español. Con esto nos aseguraremos de que el teclado temporal esté en la distribución española, si no, resulta muy complicado encontrar la posición exacta de muchos de los caracteres necesarios para los comandos:
loadkeys es
  • Podemos asegurarnos de que estamos sobre UEFI o BIOS, ya que este tutorial es para UEFI. Si el siguiente comando arroja error, es que el sistema es BIOS. Si por el contrario salen muchas líneas de archivos, es que estamos sobre UEFI.
ls /sys/firmware/efi/efivars
  • Realizar particionado

Averiguamos el nombre del disco duro. Para ello escribimos

fdisk -l

Estos nos mostrará los dispositivos conectado al ordenador. En mi caso aparecen dos, el disco del portátil propiamente dicho y el dispositivo usb. Si tenemos dudas los reconoceremos por la capacidad. En mi caso el disco es sda y aparece montado en /dev/sda. Para acceder o crear la tabla de particiones primero usamos el siguiente comando.

cfdisk

Aquí seleccionamos gpt. Esto es así porque en mi caso estamos sobre UEFI. En el caso de tener BIOS tendríamos que seleccionar «dos». No obstante, esto también tiene otras implicaciones como la capacidad máxima que puede leer de un dispositivo ya que el sistema gpt es capaz de leer dispositivos con capacidades superiores a 2 TB. Aunque la interfaz de esta aplicación es algo simple, nos podemos guiar a través de las flechas del teclado para crear un sistema de particionado óptimo. Para crear una partición le damos a New, elegimos el tamaño (p.ej, 10 GB) y luego en TYPE elegimos el tipo. Finalmente, cuando están todas creados le damos WRITE a cada una de las particiones, para que el programa las cree. En mi caso he optado por cuatro. Aquí tenemos una primera partición para EFI, una partición swap (suelen recomendar poner el doble de la memoria RAM del pc) y dos particiones, una partición root o raíz donde irá instalado el sistema y una partición separada para las carpetas de los usuarios (home).

sda1 de 1 GB tipo EFI System
sda2 de 8 GB tipo Linux swap
sda3 de 125 GB tipo Linux filesystem
sda4 de 800 GB tipo Linux home

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

  • Formatear las particiones

Dar formato a las distintas particiones. Una vez creadas, las debemos formatear correctamente. En mi caso he optado por ext4 ya que es un sistema de archivos transaccional robusto y fiable. Para ello usaremos los siguientes comandos. Nótese que en mi caso tengo cuatro particiones.

mkfs.vfat -F32 /dev/sda1
mkswap /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4

No obstante, debemos recordar que el comando anterior (mkswap) da una UUID por defecto, esto no es imprescindible pero si queremos personalizar esta UUID lo podemos hacer con el comando:

mkswap -U nombre_de_la_UUID /dev/sda2

Ahora usamos el comando siguiente. Con esto activamos la paginación del swap.

swapon /dev/sda2
  • Montar las particiones

Utilizaremos los siguientes comandos. El primer comando nos monta el archivo raíz establecido en /dev/sda3 en /mnt. Una vez este archivo raíz está montado creamos el directorio /home y el /boot/efi. Sobre estos directorios previamente creados montamos las dos particiones correspondientes, la EFI y la HOME.

mount /dev/sda3 /mnt
mkdir /mnt/home
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
mount /dev/sda4 /mnt/home

Parte 3. Instalación

Una vez creadas las particiones, formateadas y montadas, estamos listos para empezar la instalación. En mi caso, ante la imposibilidad de conectar vía wifi, opté por utilizar un cable ethernet. Para saber si la conexión funciona podemos hacer un ping. No obstante, si no fuera el caso, el propio sistema ya nos advertiría de que algo falla. El siguiente comando pacstrap es un simple script que nos hace montar los siguientes paquetes fundamentales para realizar la instalación.

pacstrap /mnt base base-devel efibootmgr networkmanager grub gvfs xdg-user-dirs linux linux-firmware nano dhcp

Una vez realizada esta primera instalación de paquetes, en mi caso también ha sido necesario los siguientes códigos, uno para el wifi y otro para el touchpad que trae el portátil de serie.

pacstrap /mnt netctl wpa_supplicant dialog
pacstrap /mnt/ xf86-input-synaptics
  • Creando el fstab. El fstab es un archivo que le indica al sistema las particiones que debe leer al inicio.
genfstab -pU /mnt >> /mnt/etc/fstab

Parte 4. Configuración inicial

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

arch-chroot /mnt

Le damos un nombre a la máquina. Esto llama al editor nano, en una simple línea escribimos qué nombre queremos para el equipo, guardamos el archivo y simplemente salimos del programa.

nano /etc/hostname

Podemos realizar otras configuraciones como la zona horaria. En este caso he optado como hacen algunos para crear un enlace simbólico (como un acceso directo) que conecta la información depositada en el primer directorio con el segundo. Para el enlace simbólico empleamos el comando ln con la opción (-s) que implica que se trata de un enlace simbólico entre archivos.

ln -s /usr/share/zoneinfo/Europe/Madrid /etc/localtime

Elegir idioma. Pulsamos el siguiente comando. Buscamos dentro de la lista la opción es_ES y borramos la almohadilla que aparece delante (#). En mi caso he optado por es-ES.UTF-8

nano /etc/locale.gen

Elegir la preferencia de localización. En mi caso para España.

echo LANG=es_ES.UTF8 > /etc/locale.conf

Generar el archivo de idioma del sistema.

locale-gen

Configurar el teclado en español.

echo KEYMAP=es > /etc/vconsole.conf
  • Instalamos grub

Para instalar grub utilizamos el siguiente comando. Esta parte es fundamental. La opción removable indica que sustituye cualquier configuración que haya en dicho directorio previamente. En esta parte es fundamental que no haya ningún error ya que si el grub no se instala no accederemos al sistema operativo al arrancar.

grub-install --efi-directory=/boot/efi --bootloader-id=grub --target=x86_64-efi --removable

A continuación actualizamos el grub para configurar el gestor de arranque.

grub-mkconfig -o /boot/grub/grub.cfg
  • Usuarios y contraseñas

Para establecer una contraseña al usuario root (administrador) lo hacemos con el siguiente comando.

passwd

Para crear un usuario con privilegios de administración (en mi caso he usado el nombre de gamusino)

groupadd gamusino
useradd -m -g gamusino -s /bin/bash gamusino
passwd gamusino
  • Desmontar y reiniciar. Primero desmontamos la partición y luego reiniciamos.
umount -R /mnt
reboot

Parte 5. Instalar entorno gráfico

  • Dar permisos a usuarios y actualizar sistema

Ahora al reiniciar el ordenador 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

En la última línea podemos colocar el nombre del usuario.

gamusino ALL=(ALL:ALL) ALL

Activamos la tarjeta de red y actualizamos el sistema con estos dos comandos:

systemctl enable NetworkManager.service
pacman -Syyu
  • Instalaciones

Primero instalamos el servidor gráfico y el MESA, una implementación para de código abierto para OpenGL, una API relacionada con el funcionamiento gráfico de los ordenadores.

pacman -S xorg-server xorg-xinit
pacman -S mesa mesa-demos

Ahora elegimos el entorno gráfico para nuestro Arch Linux. En mi caso me he decantado por Gnome. Durante esta instalación podemos todos los paquetes o ir eligiendo/descartando aquellos que vayamos o no a necesitar. Debemos recordar que a parte de Gnome tenemos otros como KDE, Xfce, Cinnamon, Mate, Lxde o Lxqt.

pacman -S gnome gnome-extra

Ahora configuramos el inicio del entorno de escritorio

nano /home/gamusino/.xinitrc

Dentro añadimos en la primera línea:

exec gnome-session

Instalamos el gestor de inicio de sesión (el entorno gráfico del login) y lo activamos.

pacman -S gdm
systemctl enable gdm

Reiniciamos con reboot y si todo ha ido bien, tendremos tras el menú del GRUB, el gestor de inicio de sesión donde podremos escribir el usuario y la contraseña. Cuando entremos, accederemos al entorno de escritorio. Una vez realizado ese primer paso, podemos realizar las configuraciones oportunas de manera más fácil. Mi primer objetivo tras la primera puesta a punto ha sido instalar paquetes adicionales para el firmware de la tarjeta gráfica y el wifi y buscar aquellos programas que considero imprescindibles (Libreoffice, VLC, Firefox, Chromium, Thunderbird…). La parte del wireless ha sido complicada porque en mi caso no la ha reconocido inicialmente. Con el comando lspci y varias búsquedas en la red he conseguido encontrar varias opciones para el dispositivo Broadcom. Entre estos drivers están: brcm80211, b43 y broadcom-wl. Con esto nuestra instalación de Arch Linux habrá terminado.

pacman -S xf86-video-ati
pacman -S broadcom-wl
Ananke

Historiador y psicólogo. Investigador independiente.

Entradas recientes

Introducción a la tipografía

Richard Sandler (1946), Subway Noir, NYC, 1986 Siguiendo el escurridizo sendero que conduce al mundo… Leer más

2 meses hace

Sistemas de codificación de caracteres

Ana María Bustamante, El adiós es un tejido de flores y venas, 2017 Un sistema… Leer más

3 meses hace

Under The Waves – Reseña

Under The Waves es un videojuego de aventura narrativa desarrollado por Parallel Studio y editado… Leer más

5 meses hace

GrapheneOS – Instalación

GrapheneOS He decidido hacer esta guía porque recientemente conseguí instalar GrapheneOS en un móvil Pixel… Leer más

7 meses hace

Falsos profetas

Jakub Hadrava, St George's Church in the Czech village of Lukova (mod. from Bousure) «Uno… Leer más

11 meses hace

Lacrimosa, The daughter of coldness

Lacrimosa es un grupo musical fundado en Suiza en 1990 por Tilo Wolff. El grupo,… Leer más

1 año hace