Arch - Guía de instalación (UEFI)
Si se te ha pasado por la cabeza instalar el “temido” Arch Linux, pero has desistido por su aparente dificultad, este post es para ti. De una forma sencilla te guiará a través del proceso de instalación de este sistema operativo para finalizar con un sistema funcional, listo para usarse.
Te recomiendo leer toda la guía antes de proceder con los pasos.
ADVERTENCIA: trata de verificar la información que puedas de la guía, porque puede que algunos procesos cambien en el futuro, aunque trataré de mantener la guía actualizada.
Pasos previos
-
Evitar conflicto de la hora entre Windows y Linux.
Esto se debe a que Linux guarda la hora en formato UTC mientras que Windows lo hace en Local, esta información es guardada en la bios, por lo que al cambiar entre sistemas, el respectivo sistema (el que se está iniciado) leerá la hora en un formato que no le corresponde, lo que ocasiona los desfases en la hora.
A continuación mostraré dos métodos:
Eligen uno y solo un método.
-
Windows.
-
Abrimos regedit (
WIN + r
y escribimos “regedit”). -
Nos vamos a
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
. -
Creamos un registro
DWORD (32 bits)
con el nombreRealTimeIsUniversal
. -
Asignamos el valor “1” (en Hexadecimal) el registro que acabamos de crear.
-
Abrimos un CMD con privilegios administrativos y escribimos el siguiente comando
sc config w32time start=disabled
.
-
-
Linux.
NOTA: asegúrense de tener su sistema actualizado.
Es tan simple como escribir el siguiente comando
sudo timedatectl set-local-rtc 1
.
-
El paso anterior no es necesario si no van a tener dualboot.
-
Recomiendo cambiar la fuente de la terminal para tener una mejor vista (
setfont ter-132n
).Si tu pantalla no es 1920x1080, busca un tamaño de fuente inferior.
-
ls /sys/firmware/efi/efivars/
verificar si el sistema ha iniciado en modo UEFI (deberíamos ver varias líneas como resultado). -
Cargar la distribución de tu teclado.
-
Ver las distribuciones disponibles:
localectl list-keymaps
.El comando
grep
te servirá para encontrar tu distribución (localectl list-keymaps | greq <pattern>
). La distribución latinoamericana se encuentra como “la-latin1” y la estadounidense como “us”. -
Cargar la distribución:
loadkeys <keyboard distribution>
.
-
Internet
ip addr show
nos mostrará nuestras ip’s (asociadas a las diferentes interfaces de red).
Lo más fácil es hacer la instalación vía Ethernet, para no tener que configurar el Wifi.
En caso de que estés haciendo la instalación con Wifi, sigue los siguientes pasos:
-
iwctl
inicia el prompt de la herramienta “iwd”. -
device list
lista todos los dispositivos inalámbricos disponibles en el sistema.En caso de que no aparezca su adaptador y está seguro de que tiene uno, deberá buscar cuál es la fuente del problema antes de seguir con la instalación, la recomendación es buscar en la documentación de la herramienta.
-
station <wireless device name> scan
Escanear las redes cercanas. -
station <wireless device name> get-networks
Mostrar las redes escaneadas. -
station <wireless device name> connect "<network name>"
Para conectarse a la red (te dejará el prompt para introducir la contraseña). -
Espera algunos segundos (3 - 4 deberían ser suficientes) y procede a salirte de la herramienta (
exit
oCTRL + d
).
Si no hubo algún error, al mostrar las ip’s (
ip addr show
oip a
) su interfaz inalámbrica debería tener asociada una ip.
Para probar nuestra conexión a internet podemos escribir ping -c 5 8.8.8.8
para enviar peticiones a las DNS de Google, y si tenemos internet recibiremos respuestas.
Disco
Vamos a usar fdisk
para manejar el tema de las particiones.
-
fdisk -l
listar los discos (también podemos usarlsbkl
). -
fdisk /dev/<device>
empezar el proceso en el disco seleccionado. -
p
listar las particiones que hay en el disco. -
g
crear la tabla de particiones (para el caso de UEFI es GPT). -
Creación de la partición
EFI
-
n
crear una partición. -
2x Enter
dejar por defecto algunos valores de la partición. -
+300M
tamaño que tendrá nuestra partición EFI. -
t
cambiar el tipo de partición. -
1
.
-
-
Creación de la partición
LVM
-
n
crear una partición. -
3x Enter
dejar por defecto algunos valores de la partición. -
t
cambiar el tipo de partición. -
Enter
seleccionar la partición. -
43
.Este número puede cambiar, por lo que sugiero revisar los tipos con
l
y buscar la que digaLinux LVM
.
-
-
w
para escribir las particiones.Esto nos sacará de la herramienta.
-
mkfs.fat -F32 /dev/<efi partition>
. (en mi caso fuesda1
) para formatear la particiónEFI
.Puedes ver el nombre de las particiones con
fdisk -l
. -
Configurar
LVM
.-
pvcreate --dataalignment 1m /dev/<LVM partition>
(en mi caso fuesda2
). -
vgcreate volgroup0 /dev/<LVM partition>
. -
lvcreate -L 40GB volgroup0 -n lv_root
. -
lvcreate -l 100%FREE volgroup0 -n lv_home
(con el100%FREE
nos referimos al espacio restante).Obviamente, los tamaños de las particiones los puedes cambiar.
Aunque la distribución “home” no es necesaria hacerla, es recomendable puesto que tenemos la posibilidad de rescatar nuestra información si la partición “root” (que sería donde se guardaría nuestra información como usuario si no creamos el “home”) se corrompe.
-
modprobe dm_mod
. -
vgscan
. -
vgchange -ay
.
-
-
Formateo y montaje de particiones.
-
mkfs.ext4 /dev/volgroup0/lv_root
. -
mount /dev/volgroup0/lv_root /mnt
. -
mkfs.ext4 /dev/volgroup0/lv_home
. -
mkdir /mnt/home
. -
mount /dev/volgroup0/lv_home /mnt/home
.
-
Estableciendo las mirrors más rápidas
-
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
. -
reflector --verbose --latest 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
.
Instalación
-
pacstrap -i /mnt base base-devel linux linux-headers linux-firmware lvm2 git
.Podemos instalar varios kernels.
Si vas a usar wifi tendrás que instalar paquetes adicionales además de activar sus respectivos servicios.
-
arch-chroot /mnt
entrar en nuestra instalación (refiriéndome al prompt). -
pacman -S neovim
para instalar un editor de texto. -
Editamos
/etc/mkinitcpio.conf
.-
nvim /etc/mkinitcpio.conf
. -
En
MODULES
agregamos la marca de la tarjeta gráfica que estemos usando, en mi caso agregonvidia
. -
En
HOOKS
entreblock
yfilesystems
agregamoslvm2
.
-
-
mkinitcpio -p linux
. -
nvim /etc/locale.gen
descomentamosen_US.UTF-8
yes_ES.UTF-8
. -
locale-gen
. -
echo LANG=<lang> >> /etc/locale.conf
.En mi caso quiero el idioma inglés estadounidense, por lo que pongo
en_US.UTF-8
en vez de<lang>
. -
echo KEYMAP=<keyboard layout> >> /etc/vconsole.conf
.En mi caso tengo la distribución estadounidense, por lo que pongo
us
en vez de<keyboard layout>
. -
passwd
establecer la contraseña del root. -
useradd -m -g users -G wheel <username>
crear tu usuario.También puedes crear el usuario sin tener que agregarlo a un grupo (
useradd -m <username>
), pero en elsudoers.d
tendrás que hacer algo diferente. -
passwd <username>
establecer la contraseña de tu usuario. -
EDITOR=nvim visudo
y descomentamos%wheel ALL=(ALL) ALL
para que el grupowheel
pueda usar permisos administrativos.Si escogiste solo crear el usuario, tendrás que asignarle los permisos a ese usuario, agregando
<username> ALL=(ALL) ALL
alsudoers.d
. -
mkdir /mnt/etc
ygenfstab -U /mnt >> /mnt/etc/fstab
.Si hicimos el paso anterior bien deberíamos ver nuestras particiones en el archivo
fstab
(para hacerlo usamoscat /mnt/etc/fstab
).
Bonus (opcional)
Si tienes un disco donde almacenas información general, puedes agregarlo:
-
mkdir /mnt/files
. -
pacman -S ntfs-3g
. -
mount /dev/<disk partition> /mnt/files
.
Recuerda regenerar el
fstab
.
La configuración de mi disco duro en mi fstab es:
UUID=64A6257CA625503A /home/braz/Files ntfs-3g auto,exec,users,uid=1000,gid=1000,noatime 0 2
GRUB
-
pacman -S grub efibootmgr
.Si vas a hacer una instalación con en conjunto con Windows, incluye
os-prober
. -
mkdir /boot/EFI
. -
mount /dev/<efi partition> /boot/EFI
(en mi caso sda1). -
nvim /etc/default/grub
y descomentamos la líneaGRUB_DISABLE_OS_PROBER
.Si no estás haciendo una instalación en conjunto con Windows, puedes saltarte este paso.
-
grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
. -
mkdir /mnt/windows
ymount /dev/<windows efi partition> /mnt/windows
.Si no estás haciendo la instalación con Windows, omite este paso.
-
grub-mkconfig -o /boot/grub/grub.cfg
.
Por último salimos (exit
), desmontamos todo umount -a
o umount -lR /mnt
y reiniciamos (reboot
).
Recuerda quitar el medio de instalación.
Post-Instalación
-
Creación de
swapfile
.Si tiene un computador moderno (computadores que, generalmente, tienen más de 8 GB de RAM), la memoria swap no es muy necesaria.
-
dd if=/dev/zero of=/swapfile bs=1M count=<size in mb> status=progress
. -
chmod 600 /swapfile
. -
mkswap /swapfile
. -
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
.
-
-
Establecer zona horaria.
-
timedatectl list-timezones
ver las zonas horarias. -
timedatectl set-timezone <time zone>
(en mi casoAmerica/Bogota
).El comando
grep
te servirá para encontrar tu zona horaria (timedatectl list-timezones | greq <pattern>
). -
systemctl enable systemd-timesyncd
.Podemos versificar si todo ha salido correctamente con
timedatectl status
. -
ln -sf /usr/share/zoneinfo/<location> /etc/localtime
(en mi caso fueAmerica/Bogota
). -
hwclock --systohc
: actualizar la hora del sistema con la del computador (a nivel de hardware).
-
-
Establecer HOSTNAME.
hostnamectl set-hostname <hostname>
.-
nvim /etc/hosts
y agregamos:127.0.0.1 localhost ::1 localhost 127.0.1.1 <hostname>.localdomain <hostname>
-
pacman -S amd-ucode
instalar microdes para el procesador (si tienes un procesador Intel esintel-ucode
). -
pacman -S nvidia nvidia-utils nvidia-settings
instalar drivers para tarjetas Nvidia (para AMD esmesa
y para instalar nvidia en el kernel LTS esnvidia-lts
).pacman -S virtualbox-guest-utils
si estás usando VirtualBox. -
pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack
instalación de drivers de audio. -
Instalación de yay.
-
git clone https://aur.archlinux.org/yay-bin.git
. -
cd yay-bin
. -
makepkg -si
.
-
Display manager
Entorno o interfaz en el que nos logueamos.
-
pacman -S ly
. -
systemctl enable ly.service
.
El archivo de configuración está en
/etc/ly
.
Felicidades hasta este punto ya tiene una instalación de Arch “mínima”, lo siguiente es escoger si quieres usar un desktop environmnet o un window manager. No deberías tener problemas instalando cualquier desktop environmnet, en sus paquetes ya tienen todo lo necesario para una experiencia de usuario “completa”. Estaré subiendo post sobre un set-up de Bspwm por si quieres usar este window manager.