Cómo construir tu propio sistema operativo
Arch Linux sigue el principio del minimalismo, permitiendo a los usuarios construir cualquier funcionalidad que deseen. A continuación, se presenta una guía sencilla para configurar tu propio sistema Arch Linux en una máquina física.
Preparación
Necesitarás: una computadora, una unidad USB (o cualquier medio de almacenamiento extraíble), conexión a internet y habilidades básicas de búsqueda de información.
- Independientemente de la imagen de instalación que elijas, incluso para instalaciones sin conexión, se recomienda tener acceso a internet para garantizar la actualización del kernel y las herramientas. Si eres un usuario experimentado, puedes decidir por tu cuenta.
- Si usas Wi-Fi, asegúrate de que el nombre de la red esté en inglés, ya que el entorno tty no puede mostrar caracteres no ASCII, que aparecerán como bloques ilegibles.
- Si planeas configurar un arranque dual en el mismo disco, reserva suficiente espacio para Arch Linux: se recomienda al menos 100 GB para futuras instalaciones de software. Asegúrate de que la partición EFI tenga al menos 256 MB o crea un punto de montaje adicional.
- Verifica si la partición de Windows 10 utiliza cifrado BitLocker. Obtén la clave de recuperación con antelación y desactiva el “Inicio rápido” en las opciones de energía.
Antes de proceder, lee cuidadosamente y busca información sobre cualquier aspecto que no entiendas. Opera con precaución y realiza copias de seguridad regularmente: los datos son invaluables.
Creación del medio de instalación
- Descarga la imagen de instalación únicamente desde la página oficial de descargas de Arch Linux. Ten en cuenta que Arch Linux es una distribución de lanzamiento continuo.
- Si deseas compilar tu propio kernel, consulta la guía de Compilación tradicional del kernel.
- Para la imagen de instalación oficial, se recomienda usar Ventoy para crear un USB booteable.
Instalación base
1. Arranque desde el medio de Arch Linux
Apaga la computadora, inserta la unidad USB y enciéndela. Ingresa al BIOS, selecciona el USB como dispositivo de arranque, elige la primera opción y presiona Enter para acceder al entorno de instalación de Arch Linux.
2. Verificación de UEFI
systemctl stop reflector.service
# Deshabilita la actualización automática de espejos, ya que las condiciones de red geográficas pueden causar problemas.ls /sys/firmware/efi/efivars
# Si se muestra una lista de variables EFI, el sistema está arrancado en modo UEFI. La mayoría de las máquinas en 2025 usan UEFI.3. Configuración de red
La instalación de Arch Linux requiere conexión a internet. La instalación sin conexión es más compleja; consulta la guía de Instalación sin conexión.
Para conexiones por cable, conecta el cable Ethernet, verifica si el LED de la interfaz parpadea y espera unos segundos para que se establezca la conexión.
En redes de campus, puede ser necesaria la autenticación a través de un enrutador superior. Consulta el proyecto nbtverify.
Para Wi-Fi, utiliza
iwctlpara conectarte.
lspci -k | grep Network
# Verifica si el adaptador inalámbrico está funcionando. Si estás seguro de que está operativo, puedes omitir este paso.Comprueba si el kernel ha cargado el controlador de la red inalámbrica.
Deberías ver algo como:
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 (rev 20).Si no aparece nada, verifica si la conexión inalámbrica está desactivada (blocked: yes).
rfkill list
# El adaptador inalámbrico suele llamarse wlan0.ip link set wlan0 up
# Si aparece un error como “Operation not possible due to RF-kill”, ejecuta:
rfkill unblock wifi# Conéctate a Wi-Fi usando iwctl
iwctl # Ingresa al modo interactivo
device list # Lista los dispositivos inalámbricos, por ejemplo, wlan0
station wlan0 scan # Escanea las redes
station wlan0 get-networks # Lista las redes Wi-Fi disponibles
station wlan0 connect wifi-name # Conéctate a la red. Los nombres no ASCII no son compatibles. Ingresa la contraseña cuando se solicite.
exit # Salir tras conectar
ping www.google.com # Prueba la conectividad de redPara problemas de configuración de red, consulta Configuración de red/Inalámbrica.
5. Sincronización del reloj del sistema
timedatectl set-ntp true # Sincroniza la hora del sistema con la hora de la red
timedatectl status # Verifica el estado del servicio6. Actualización de la lista de espejos (opcional para usuarios en España)
vim /etc/pacman.d/mirrorlist # Edita la lista de espejos si es necesario
Server = https://mirror.librelabucm.org/archlinux/$repo/os/$arch # Espejo de la UCM
Server = https://ftp.rediris.es/mirror/archlinux/$repo/os/$arch # RedIRIS
Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch # Kernel.org7. Creación de particiones Btrfs
Verificación de la información del disco
lsblkMuestra la estructura actual de particiones. Verifica cuidadosamente el disco de destino para la instalación de Arch Linux.
Convenciones de nomenclatura de discos:
- Discos SATA:
sda,sdb,sdc… Particiones:sda1,sda2, etc. - Discos NVMe:
nvme0n1,nvme1n1… Particiones:nvme0n1p1,nvme0n1p2, etc.
Este ejemplo usa un disco SATA. Reemplaza
/dev/sdxcon tu disco real.
cfdisk /dev/sdxDeberías ver una interfaz TUI amigable para particionar. 😄
Pasos para particionar
1. Crear partición Swap
- Usa las teclas de flecha para seleccionar Free space.
- Presiona
[New], presiona Enter e introduce el tamaño (recomendado: 60%–100% de la RAM). - Presiona
[Type]y selecciona Linux swap.
2. Crear partición raíz (para Btrfs)
- Selecciona el Free space restante, presiona
[New]y Enter. - Introduce el tamaño (por defecto: usa todo el espacio restante).
- Mantén el tipo como Linux filesystem.
3. Escribir la tabla de particiones
- Selecciona
[Write], escribeyesy presiona Enter.⚠️ Nota: Los cambios no se aplicarán si no se escriben.
Formatear particiones
Volver a verificar los discos
fdisk -lFormatear la partición EFI (si es nueva)
mkfs.fat -F32 /dev/sdxn💡 Para usuarios con arranque dual, puedes reutilizar la partición EFI de Windows sin formatearla, pero asegúrate de que tenga suficiente espacio. Consulta Arranque dual con Windows.
Formatear la partición Swap
mkswap /dev/sdxnFormatear la partición Btrfs
mkfs.btrfs -L myArch /dev/sdxnCrear y montar subvolúmenes Btrfs
mount -t btrfs -o compress=zstd /dev/sdxn /mnt
# Crear subvolúmenes
btrfs subvolume create /mnt/@ # Subvolumen raíz
btrfs subvolume create /mnt/@home # Subvolumen para /home
umount /mnt⚠️ Recordatorio final
- ¡Revisa nuevamente todos los comandos y operaciones!
- Los errores pueden causar pérdida de datos, especialmente al eliminar particiones de Windows 😥.
8. Montar particiones, comenzando por la raíz
mount -t btrfs -o subvol=/@,compress=zstd /dev/sdxn /mnt # Montar el directorio /
mkdir /mnt/home # Crear el directorio /home
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sdxn /mnt/home # Montar el directorio /home
mkdir -p /mnt/boot # Crear el directorio /boot
mount /dev/sdxn /mnt/boot # Montar el directorio /boot
swapon /dev/sdxn # Activar la partición de intercambiodf -h # Verificar montajes
free -h # Verificar el montaje de la partición de intercambio9. Instalar el sistema
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs
# Si usas el sistema de archivos Btrfs, instala el paquete btrfs-progspacman -S archlinux-keyring
# Si aparece un error de clave GPG, puede deberse a una imagen desactualizada. Actualiza archlinux-keyring para resolverlo.pacstrap /mnt networkmanager vim sudo zsh zsh-completions
# Instala paquetes funcionales esenciales con pacstrap10. Generar el archivo fstab
Genera el archivo fstab para definir las particiones del disco basadas en los montajes actuales.
genfstab -U /mnt > /mnt/etc/fstab11. Entrar al nuevo sistema
arch-chroot /mnt
# ¿Desapareció el resaltado de código? ¡No te preocupes, has cambiado al chroot con éxito!12. Configurar el nombre del host y la zona horaria
vim /etc/hostname
# Elige un nombre para el host (evita caracteres especiales o espacios para evitar problemas; no establecer un nombre de host puede causar fallos en algunas aplicaciones GUI).vim /etc/hosts
# Edita el archivo hostsAñade lo siguiente (reemplaza myarch con tu nombre de host, usa tabuladores para alinear):
127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch.localdomain myarchln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime
# Crea un enlace simbólico para la zona horaria de Madridls /usr/share/zoneinfo/
# Verifica las zonas horarias disponibles y actualiza el comando anterior si es necesario13. Configuración del reloj de hardware
hwclock --systohc
# Sincroniza la hora del sistema con el reloj de hardware14. Configuración de la localización
vim /etc/locale.gen
# Edita /etc/locale.gen, descomenta las líneas en_US.UTF-8 UTF-8 y es_ES.UTF-8 UTF-8
# Este paso define el idioma y el conjunto de caracteres para el softwarelocale-gen
# Genera las localizacionesecho 'LANG=en_US.UTF-8' > /etc/locale.conf
# Configura locale.conf. No se recomienda usar localizaciones en español en tty, ya que pueden causar problemas de codificación15. Establecer la contraseña de root
passwd root
# La entrada de la contraseña es invisible, ¡no es un problema del teclado! 😄16. Instalar microcódigo
pacman -S intel-ucode # Para procesadores Intel
pacman -S amd-ucode # Para procesadores AMD17. Instalar el cargador de arranque Grub
pacman -S grub efibootmgr os-prober
# grub es el cargador de arranque, efibootmgr escribe las entradas de arranque en NVRAM, os-prober permite detectar Windows 10grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
# Instala grub en la partición EFIvim /etc/default/grub
# Edita los parámetros de arranque# Cambia "loglevel=3 quiet" a "loglevel=5 nowatchdog"
# Añade al final del archivo: GRUB_DISABLE_OS_PROBER=false- Elimina el parámetro
quietde la línea GRUB_CMDLINE_LINUX_DEFAULT. - Cambia
loglevelde 3 a 5 para facilitar la depuración de errores. - Añade
nowatchdogpara mejorar la velocidad de encendido/apagado. - Habilita
os-proberpara detectar Windows 10.
grub-mkconfig -o /boot/grub/grub.cfg
# Genera el archivo de configuración de grub
# Si se detecta Windows 10, aparecerá una línea como: “Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi done”
# Si Windows está en otro disco, no aparecerá. Una vez en el sistema, vuelve a montar y ejecuta este comando nuevamente.Consulta todos los parámetros en Arch Wiki.
18. Finalizar la instalación
exit # Regresa al entorno de instalación
umount -R /mnt # Desmonta las nuevas particiones
reboot # ReiniciaTras reiniciar, inicia sesión con la cuenta root.
systemctl enable --now NetworkManager # Habilita y ejecuta el servicio NetworkManager
ping www.google.com # Prueba la conectividad de redPara Wi-Fi:
nmcli dev wifi list # Lista las redes Wi-Fi cercanas
nmcli dev wifi connect "SSID de Wi-Fi" password "contraseña de red" # Conéctate a una red Wi-Fi específicanmtui
# Personalmente, prefiero nmtui, ¡es más amigable! 😄pacman -S fastfetch
fastfetch
# Instala fastfetch para verificar la información del sistema
# ¡Llega el momento clásico de neofetch! 😄shutdown 0
shutdown -h now
poweroff
# Los tres comandos apagan el sistema. 😄 Apaga correctamente, ya que las políticas de energía aún no están configuradas.¡Felicidades 🎉
¡Has instalado con éxito una versión mínima de Arch Linux sin interfaz gráfica!
La guía para la interfaz gráfica se incluirá en la próxima actualización, pero como siempre: ¡lee el manual!
Esta guía es solo un punto de partida, con la esperanza de inspirar a más entusiastas a unirse a la comunidad tecnológica.
Enlaces relacionados: NBTCA
- 📧 Correo de NBTCA: contact@nbtca.com
- 🌐 GitHub de NBTCA: https://github.com/nbtca