Instalar Archlinux - UEFI en EXT4



CódigoCristo / Febrero 25, 2023

CodigoCristo

En esta guía estaremos describiendo de manera detallada, el proceso de instalación de la distribución GNU/Linux de liberación continua, Archlinux.

Iniciamos el liveCD en modo ROOT (Admintrador) para empezar a descargar los programas necesarios que vamos a usar y realizar configuraciones básicas


CodigoCristo

Configuración de teclado

Establecer distribución del teclado temporal para que reconozca todos los caracteres

Ponemos nuestro teclado para Español

root@archiso ~ # loadkeys es

Ponemos nuestro teclado para LatinoAmerica

root@archiso ~ # loadkeys la-latin1

Ponemos nuestro teclado para Americano

root@archiso ~ # loadkeys us

Comprobando si su sistema es UEFI :

Compruebe el tipo de arranque, ejecutando este comando para ver una lista con ls

root@archiso ~ # ls /sys/firmware/efi/efivars

Si hay archivos en efivars significa que tu sistema es UEFI/EFI

CodigoCristo

Conexión a Internet por Ethernet Cableado

Se recomienda usar la conexión por cable en ves de la inalámbrica, para mayor estabilidad y velocidad del Internet.
Para conexión por cable tan solo es necesario tener conectado el cable de Ethernet.
Luego hacer un ping para verificar la conexión a Internet.

root@archiso ~ # ping -c 3 archlinux.org

/*El parámetro -c 3 establece que se ejecute ping tres veces.
/*Por defecto en la ISO habilita el servicio de DHCP y NetworkManager para el uso de red cableada

Ya debería estar recibiendo datos al hacer ping, lo que indica que ya tiene conexión a Intenet, de lo contrario reinicie y vuelva a entrar al live usb para iniciar correctamente los servicios.

CodigoCristo

Conexión a Internet por Wifi

Si desea conectarse por wifi, es conveniente primero verificar si se ha cargado correctamente el controlador de la tarjeta wifi. Compruebe que en la salida del siguiente comando exista un fichero que inicie con la letra wl...

wlan0
wlp2s0
Otros...
root@archiso ~ # ls /sys/class/net

Si no existe ningún fichero que inicie con la letra wl ,entonces no podrá realizar la instalación vía wifi.
> > > Si por el contrario el fichero existe entonces será posible conectarse a Internet vía wifi.

Estaremos usando dos programas que vienen ya activos en el LIVE CD:

IWD

root@archiso ~ # iwctl --passphrase 'contraseña' station wlan0 connect 'NombreDeRed' 

NMCLI

root@archiso ~ # nmcli dev wifi -a connect 'NombreDeRed' password 'contraseña' 

Ambas opciones son válidas para conectarse a wifi


Wifi - Red oculta (opcional)

Para redes ocultas usaremos la herramienta wpa_supplicant, teniendo en cuenta el nombre del dispositivo, ssid y password.

root@archiso ~ # nano /etc/wpa_supplicant/wpa_supplicant.conf

Agregamos el siguiente texto

network={ ssid="Familia Hernández" scan_ssid=1 key_mgmt=WPA-PSK psk="contraseña" }

Ahora levantamos la red.

root@archiso ~ # wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

Cambiar el Idioma en liveCD

Vamos a configurar el idioma temporal de las herramientas disponibles a nuestro idioma español, sobre todo las de particionado.

root@archiso ~ # echo "es_ES.UTF-8 UTF-8" > /etc/locale.gen

Ahora vamos a aplicar la configuración.

root@archiso ~ # locale-gen

Exportamos la variable LANG para finalizar la configuración regional temporal.

root@archiso ~ # export LANG=es_ES.UTF-8

Comprobamos que este en español con pacman

root@archiso ~ # pacman -Sy

CodigoCristo

Actualizar reloj del sistema

root@archiso ~ # timedatectl set-ntp true

Tabla de partición para UEFI

Discos Duros en GPT permite mas de 128 particiones primarias

Para usar esta tecnologia depende de tu placa madre si soporta GPT y UEFI ya que es para sistemas modernos y actuales.

Para consultar la tabla de particiones que tiene su disco duro donde va a instalar el Sistema Operativo use el siguiente comando:

root@archiso ~ # fdisk -l

CodigoCristo

● Es importante saber cual es la ruta de nuestro disco duro ● Nuestro caso es /dev/vda: 50Gib ● Los resultados que terminan en [rom, loop o airoot] pueden ignorarse ● En este caso /dev/loop0 es la imagen ISO de ArchLinux

SI ES UN DISCO NUEVO SIN FORMATO
puede asignar un formato de una tabla de partición, use una de las siguientes comando. Tenga en cuenta que este procedimiento eliminará la información del dispositivo de almacenamiento escogido.

(OPCIONAL) Para convertir su disco a GPT :

root@archiso ~ # parted /dev/vda mklabel gpt

(OPCIONAL) Podemos confirmar los cambios con el siguiente comando :

root@archiso ~ # parted -l | egrep "/dev/|msdos|gpt"

CodigoCristo

Podemos usar tambien el comando lsblk para revisar disco y particiones que esten montadas o tambien podemos usar fdisk -l

root@archiso ~ # lsblk

Crear las particiones

>> Arch Linux incluye las siguientes herramientas de particionado:

● En este caso usaremos cfdisk para crear y modificar particiones facilmente ● Fuente: https://wiki.archlinux.org/index.php/Partitioning

Ejemplos de particionados en UEFI - GPT

> Ejemplo 1 de particionado en GPT

/dev/sda1 EFI SYSTEM en FAT32 /dev/sda2 ROOT - HOME - ETC...

> Ejemplo 2 de particionado en GPT

/dev/sda1 EFI SYSTEM en FAT32 /dev/sda2 ROOT - HOME - ETC... /dev/sda3 [SWAP]

> Ejemplo 3 de particionado en GPT

/dev/sda1 EFI SYSTEM /dev/sda2 ROOT /dev/sda3 [SWAP] /dev/sda4 HOME

● La documentación oficial nos recomienda usar en GPT la siguiente estructura

CodigoCristo

Memoria SWAP

● Menos de 1GB RAM física = 2GB de SWAP ● Entre 2GB a 4GB RAM física = 2GB a 4GB de SWAP ● 8GB de RAM física = 4GB de SWAP ● Más de 8GB de RAM física = 2GB a 4GB de SWAP
CodigoCristo

>> Pero si necesitan hibernación 8Gb serán suficientes <<


Ejecutando CFDISK - Particionador semi-Gráfico

root@archiso ~ # cfdisk /dev/vda

1. Para UEFI con discos con GPT

CodigoCristo

● Vamos empezar eliminando las particiones en [ Eliminar ] y creando nuevas en [ Nueva ] ● Podemos crear varias particiones: vda1, vda2, vda3... ● Podemos crear las particiones y cambiar el tipo de partición en [ Tipo ]Flecha Arriba / Abajo - Flechas Derecha / Izquierda - para movernos en cfdisk
CodigoCristo

CodigoCristo

CodigoCristo

● Para la particion EFI /dev/vda1 debe ser tipo EFI System ● Para la particion SWAP /dev/vda2 debe ser tipo Linux Swap ● Para la particion ROOT /dev/vda3 debe ser tipo Sistema de ficheros de Linux
● Al finalizar el particionado le damos en [ Escribir ] para confirmar los cambios

Podemos revisarlo con fdisk -l

CodigoCristo

Formatear las particiones

Existen múltiples formatos de particiones disponibles para usar, sin embargo en esta guía usaremos ext4
Ext4 es el más usado y recomendado.
Ext4 es un sistema de archivos transaccional (en inglés journaling) de Linux


Formateo de la Partición de arranque para UEFI :

root@archiso ~ # mkfs.fat -F32 -n "UEFI" /dev/vda1

Formateo de la Partición SWAP :

root@archiso ~ # mkswap -L "SWAP" /dev/vda2

Activación SWAP ON :

root@archiso ~ # swapon /dev/vda2

Formateo de la Partición de Root :

root@archiso ~ # mkfs.ext4 -L "ROOT" /dev/vda3


MONTAR LAS PARTICIONES

Ahora para root en este ejemplo es /dev/vda3 lo cual debe ser montado primero
Ya que todo inicia con ROOT [ / ]

root@archiso ~ # mount /dev/vda3 /mnt/

Para montar las particiones necesitamos crear antes las rutas lógicas de montaje.
Necesitamos hacer un chroot dentro de /mnt/
Para el resto de directorios /boot/efi o /home/, etc...

1. Creamos la carpeta para UEFI

root@archiso ~ # mkdir -p /mnt/boot/efi/

/mnt - sistemas de archivos montados manualmente en el disco duro.
/ - diagonal invertida significa root

Montando la partición de Arranque /boot/efi/

root@archiso ~ # mount /dev/vda1 /mnt/boot/efi/

Luego de formatear y montar las particiones podemos revisarlo que todo este bien con lsblk

CodigoCristo

Generador de Mirrorlist dentro LiveCD (OPCIONAL)

En algunos casos pacstrap les resulta una descarga muy lenta
Eso se debe al no tener los mirros mas rápidos.
Para tener los Mirros más rápidos para tener mejores descargas usaremos reflector

root@archiso ~ # pacman -Sy reflector python --noconfirm

Para ejecutar reflector y tener los mejores Mirrors :

root@archiso ~ # reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist

Para revisar la lista de Mirrors Servers y confirmar que lo hizo reflector el comando es:

root@archiso ~ # cat /etc/pacman.d/mirrorlist

INSTALACIÓN DEL SISTEMA con pacstrap

Especificación de los paquetes base y esenciales.

root@archiso ~ # pacstrap /mnt base base-devel nano
CodigoCristo
base : Paquete mínimo para una instalación básica. ● base-devel : Un grupo de paquetes que incluye las herramientas necesarias para construir el sistema.

Kernel del sistema.

root@archiso ~ # pacstrap /mnt linux linux-firmware linux-headers mkinitcpio
linux : kernel en su versión estable. ● linux-firmware : Binarios de controladores generalmente propietarios. ● linux-headers : Cabezeras del kernel en su versión estable. ● mkinitcpio : Utilidad de creación de imágenes initramfs para el kernel.

+ Vea la lista de kernel disponibles en Arch Linux


Touchpad en laptops (Opcional).

root@archiso ~ # pacstrap /mnt xf86-input-libinput

Si sale un error al usar pacstrap del tipo "error: could not open file /mnt/var/lib/pacman/sync/core.db: Unrecognized archive format" tenemos que eliminar el directorio "...sync/" de forma recursiva para solucionarlo.

root@archiso ~ # rm -R /mnt/var/lib/pacman/sync/

ARCHIVO FSTAB

Es usado para definir el arranque de todas las particiones,
Estas definiciones se montaran de forma dinámica en el arranque

root@archiso ~ # genfstab -p /mnt >> /mnt/etc/fstab

/*Luego de generar el archivo fstab para las etiquetas de nuestras particiones
/*Revisamos con:

root@archiso ~ # cat /mnt/etc/fstab
CodigoCristo

CHROOT

Entramos a la raíz del nuevo sistema como usuario root.

root@archiso ~ # arch-chroot /mnt

/* Entramos a raíz como root
/* Vemos cambio el color y cambio el ~ del livecd por / que significa root.
/* Dentro de nuestro sistema vamos a configurar idioma, teclado, hora y usuarios.

[root@archiso /]# nano /etc/locale.gen

/*Quitamos el # que es comentario en nuestro idioma >> es_ y nuestro país
/*En mi caso es PERÚ es > PE
/*Debe terminar en es_[país].UTF-8 UTF-8

Ctrl + W para buscar palabras en nano
Ctrl + O para guardar en nano
Ctrl + X para cerrar en nano

Generamos el idioma seleccionado

[root@archiso /]# locale-gen

Vamos a estar usando mucho el comando echo
Su uso es el siguiente:

[root@archiso /]# echo [texto-a-ingresar] > [archivo-a-guardar]
[root@archiso /]# echo(Espacio)[texto-a-ingresar](Espacio)>(Espacio)[archivo-a-guardar]

Establezca la variable LANG en locale.conf
Mi caso es es_PE.UTF-8

[root@archiso /]# echo LANG=es_PE.UTF-8 > /etc/locale.conf

Exporte la variable LANG con el local especificado

[root@archiso /]# export LANG=es_PE.UTF-8

Hasta aqui ya tenemos nuestro sistema en español

CodigoCristo

Zona Horaria

[root@archiso /]# ls /usr/share/zoneinfo/
CodigoCristo

Primero vamos a revisar cual es nuestra Ciudad
Revisando en la siguiente enlace https://ipapi.co/timezone

CodigoCristo

/* Respete las Mayúsculas y Minúsculas al momento de hacer un listado con ls
/* ln -sf - Genera un enlace simbólico es un acceso al fichero
/* Mi caso es de Perú y la Ciudad es Lima (America/Lima).

[root@archiso /]# ln -sf /usr/share/zoneinfo/America/Lima /etc/localtime

Zona Horaria - Opción 2

Instalamos el programa curl para que tenga efecto:

[root@archiso /]# pacman -Sy curl
[root@archiso /]# ln -sf /usr/share/zoneinfo/$(curl https://ipapi.co/timezone) /etc/localtime

Reloj del Sistema

El sistema está configurado para leer el reloj interno del equipo, después el reloj del sistema
Estable el RTC a partir de la hora del sistema.

[root@archiso /]# hwclock -w

Teclado para TTY

Defina la distribución de teclado en vconsole.conf
para que permanezca en cada reinicio solo aplica para la terminal virtual.
para que permanezca activo en tu Escritorio (DE) es otro comando.

[root@archiso /]# echo KEYMAP=es > /etc/vconsole.conf

Hostname - Nombre del Equipo

En nombre_de_pc le cambian por uno a su gusto, más adelante crearan un usuario

[root@archiso /]# echo nombre_de_pc > /etc/hostname

Hosts

Modificamos el archivo Hosts - OPCIONAL
Es importante saber que nombre pusieron en Hostname porque aquí sera usado

[root@archiso /]# nano /etc/hosts
127.0.0.1 [tab] localhost
::1 [tab] localhost
127.0.1.1 [tab] nombre_de_pc.localdomain(Espacio)nombre_de_pc
Ctrl + O para guardar en nano
Ctrl + X para cerrar en nano

Usuarios

Contraseña para root:

[root@archiso /]# passwd root

Creamos nuestro usuario, para entrar a nuestro sistema.

[root@archiso /]# useradd -m -g users -G wheel -s /bin/bash nombre_de_usuario
[root@archiso /]# passwd nombre_de_usuario

En nombre_de_usuario, le cambiamos a nuestro gusto.

CodigoCristo

SUDOERS

Ahora con nuestro usuario si queremos hacer algo como root por lo general usamos SUDO
Sudo tendrá efecto si nuestro usuario esta en la lista de Sudoers.

[root@archiso /]# nano /etc/sudoers

Buscamos root ALL=(ALL:ALL) ALL y abajo ponemos nuestro usuario
Para que tenga permisos y mismos privilegios al ejecutar sudo.

nombre_de_usuario ALL=(ALL:ALL) ALL
CodigoCristo
Ctrl + W para buscar palabras en nano
Ctrl + O para guardar en nano
Ctrl + X para cerrar en nano

Servicios de Internet

Dynamic Host Configuration Protocol (DHCP)
El servidor proporciona a los clientes una dirección IP dinámica,
La máscara de subred, Gracias a "systemd" podemos activar ese servicio

Detección y configuración automática para conectarse a la red

Primero hay que instalar los programas :

[root@archiso /]# pacman -S dhcp dhcpcd networkmanager iwd

Activamos los servicios para que inicien con el sistema :

[root@archiso /]# systemctl enable dhcpcd NetworkManager
CodigoCristo


Servicios de Bluetooh

Si tiene dispositivos de Bluetooth instelen los siguientes programas :

[root@archiso /]# pacman -S bluez bluez-utils pulseaudio-bluetooth

Activamos los servicios para que inicien con el sistema :

[root@archiso /]# systemctl enable bluetooth

MirrorList

Reflector es un script que es capaz de generar una lista y usa los repositorios mas rápidos
Ordenarlos en base a su velocidad, y sobrescribir el archivo /etc/pacman.d/mirrorlist

[root@archiso /]# pacman -Sy reflector
[root@archiso /]# reflector --verbose --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

GRUB - Gestor de arranque

Antes de iniciar con el grub debemos verificar que tenemos las img de linux :

[root@archiso /]# ls /boot/ 
CodigoCristo

Si no tiene archivos con extensión .img vuelva instalar un kernel

Os-prober detecta más sistemas operativos siempre y cuando este montado la particion de arranque o sistema operativo con mount

[root@archiso /]# pacman -S grub efibootmgr os-prober 

Aquí solo importa recordar cual fue la particion de EFI y cual fue la carpeta que crearon para EFI
En este caso fue formateado en /dev/vda1 y la carpeta fue /mnt/boot/efi/ Entonces instalamos grub en /boot/efi/

[root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch
[root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
CodigoCristo


PERSONALIZACIÓN DE GRUB

[root@archiso /]# nano /etc/default/grub
CodigoCristo

Podemos cambiar el tiempo de espera de Grub y quitar el arranque silencioso.

CodigoCristo

Si borramos quiet ese parámetro muestra todos los servicios de inicio del sistema

CodigoCristo


GENERAR ARCHIVO DE CONFIGURACIÓN DE GRUB

[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
CodigoCristo

Como vemos GRUB detecta las imagenes del kernel instalado .img que están en /boot/ y detecta un error de os-prober

Eso lo podemos solucionar quitando un comentario en el archivo de configuración

[root@archiso /]# nano /etc/default/grub
CodigoCristo

[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
CodigoCristo


Personalización de Pacman.conf

El archivo general de configuración de pacman se encuentra en:

[root@nombre_de_pc ~]# nano /etc/pacman.conf

Bajamos hasta # Misc options

CodigoCristo

Aqui quitamos los comentarios marcados por # :

# Misc options #UseSyslog Color > agrega color a la syntaxis #NoProgressBar CheckSpace > nos dice el espacio que ocupa los programas VerbosePkgLists > nos da una lista mas detallada de los programas ParallelDownloads = 5 > Descargas paralelas puedes descarga 5 programas a la vez ILoveCandy > Agrega la animación de pacman comiendo 0

ILoveCandy (es una i mayus y luego una L)

CodigoCristo


Repositorio Multib en pacman.conf

Quitamos el # comentario en el repositorio de MultiLib
Esto nos brinda varias librerias de 32bits, en juegos o programas viejos que necesitan esas librerias

#[multilib] #Include = /etc/pacman.d/mirrorlist
CodigoCristo

Actualizamos el sistema para ver el color y animación de pacman:

[root@nombre_de_pc ~]# pacman -Syu
CodigoCristo


Directorios de Usuarios

xdg-user-dirs es una herramienta para ayudar a administrar directorios de usuarios "bien conocidos" como :

Escritorio Documentos Descargas Música Imágenes Public Plantillas Videos
[root@nombre_de_pc ~]# pacman -S xdg-user-dirs

La forma en que funciona es que xdg-user-dirs-update se ejecuta
Luego crea versiones localizadas de estos directorios
En el directorio de inicio de los usuarios con iconos especiales

[root@nombre_de_pc ~]# xdg-user-dirs-update
[root@nombre_de_pc ~]# su nombre_de_usuario -c "xdg-user-dirs-update"
CodigoCristo


Tipografias

[root@nombre_de_pc ~]# pacman -S gnu-free-fonts ttf-hack ttf-inconsolata noto-fonts-emoji

Programas extras

[root@nombre_de_pc ~]# pacman -S neofetch lsb-release git wget 
neofetch : Una información del sistema CLI. ● lsb-release : Consulta de versión LSB. ● git : Control de versiones Git. ● wget : Utilidad para descargar archivos de la Web.

EXIT LiveCD

[root@archiso /]# exit

Salimos del sistema, desmontamos todas las particiones con :

root@archiso ~ # umount -R /mnt

Y finalmente reiniciamos, retiramos la USB o el CD cuando este apagada la pc

root@archiso ~ # reboot
CodigoCristo


Después de reiniciar

CodigoCristo

Iniciamos como root y en tty1 (terminal virtual 1)

CodigoCristo

Revisamos la conexión a internet con ping
Si tenemos conexión cableada solo basta tener cable conectado y activado el servicio dhcpcd

[root@nombre_de_pc ~]# ping -c 3 archlinux.org
CodigoCristo


+ Conexión por Wifi - NMCLI o IWD


Un comando básico para saber el nombre de nuestra interfaz de red

[root@nombre_de_pc ~]# ip link

Otro comando básico para saber la IP de nuestra PC

[root@nombre_de_pc ~]# ip addr


Antes de hacer alguna instalación siempre actualizamos el sistema con:

[root@nombre_de_pc ~]# pacman -Syu

+ Instalar Controladores de Vídeo



+ Instalar Controladores de Audio



+ Instalar Xorg - Opcional



+ Instalar un Entorno Gráfico



+ Qué hacer después de instalar Arch Linux




Auspicios

Sistemas sencillos... Reparaciones sencillas