Cualquiera que lleve tiempo leyendo este blog seguramente sabe que Arch Linux es una de mis distribuciones Linux favoritas, en este caso les mostraré cómo instalarla con el entorno de escritorio XFCE utilizando los programas Virtualbox y QEMU/KVM (VMware tiene problemas de drivers con esta distro, por lo que no incluyo los pasos para ese software)
primero nos vamos a la página oficial de la distro, nos vamos a un espejo de descarga y descargamos una imagen iso de instalación (ocupa aproximadamente 846 MB), la cual debería tener un nombre así “archlinux-YYYY.MM.DD-x86_64.iso”. Si vamos a utilizar QEMU/KVM necesitamos cambiar el controlador de video QXL por VirtIO, además de agregar el siguiente parámetro en el kernel durante el arranque de la máquina virtual para poder utilizar la consola serie
console=tty0 console=ttyS0,115200
. En virtualbox podemos dejar los ajustes sin cambiar y solamente acoplar la imagen iso. Recomiendo asignarle por lo menos 30 GB de almacenamiento, un hilo de procesamiento y 2GB de RAM a la máquina virtual
Una vez iniciado el entorno de instalacion podemos notar que la distribución de teclado predeterminada es ingles de estados unidos, por lo que si nuestra distribución de teclado es otra necesitaremos cambiarla usando “loadkeys es” o “loadkeys la-latin1”. Si nuestro teclado cuenta con letra ñ y tiene el símbolo @ en la tecla 2 elegiremos la primera opción para el teclado de España, si el teclado cuenta con letra ñ y tiene el símbolo @ en la tecla q elegiremos la segunda para el teclado latinoamericano.
Comprobamos que nuestra máquina virtual tenga acceso a internet
ping -c 1 archlinux.org
Configuramos las particiones
cfdisk
Elegiremos una tabla de particiones DOS debido a que tanto Virtualbox como KVM utilizan BIOS por defecto. Recomiendo crear una partición ext2 de 200 MB para el arranque, una partición swap de 2GB o menos y una partición ext4 para la raíz en caso de utilizar un disco duro mecánico o f2fs en caso de usar un ssd. La partición swap debemos definirla como tal, mientras que las demás quedarán definidas como particiones tipo linux.
Una vez establecidas Las particiones elegiremos la opción “write”, tecleamos “yes” y una vez escrita la tabla de particiones salimos del programa
Ahora vamos a formatear las particiones
En los siguientes ejemplos se debe cambiar sdXY por la partición a utilizar En Virtualbos la primera partición del primer disco duro virtual es sda1, mientras que en KVM es vda1
La partición de arranque la formateamos como ext2
mkfs.ext2 /dev/sdXY
La partición raíz la formateamos como ext4 en caso de usar un disco duro mecánico
mkfs.ext4 /dev/sdXY
En caso de usar un ssd usamos el sistema de archivos f2fs en su lugar para tener un mejor rendimiento
mkfs.f2fs /dev/sdXY
La partición de intercambio la formateamos de la siguiente forma
mkswap /dev/sdXY
La activamos con el siguiente comando
swapon /dev/sdXY
Ahora montaremos la partición donde instalaremos la unidad raíz
mount /dev/sdXY /mnt
Crearemos la partición donde montaremos la partición de arranque
mkdir /mnt/boot
Ahora montaremos dicha partición en el directorio recién creado
mount /dev/sdXY /mnt/boot
Ahora instalaremos el Sistema base
pacstrap /mnt base base-devel nano linux linux-firmware linux-headers
En caso de querer establecer una dirección IP estática en KVM recomiendo instalar Network Manager
pacstrap /mnt networkmanager
En caso de no requerirlo se puede utilizar dhcpcd en su lugar
pacstrap /mnt dhcpcd
En caso de realizar la instalación en un disco de estado sólido vamos a instalar el controlador para el sistema de archivos f2fs
pacstrap /mnt f2fs-tools
Si se van a conectar dispositivos de almacenamiento externos recomiendo agregar soporte para los sistemas de archivos más comunes en estos
pacstrap /mnt ntfs-3g exfatprogs dosfstools mtools udftools
Instalamos el paquete necesario para que el sistema operativo pueda arrancar
pacstrap /mnt grub-bios
Ahora generaremos el archivo fstab, requerido para montar las particiones durante el arranque
genfstab -U /mnt >> /mnt/etc/fstab
Ahora vamos a entrar a la consola del sistema que instalamos
arch-chroot /mnt
Ajustamos la zona horaria
ln -s /usr/share/zoneinfo/Region/City /etc/localtime
Por ejemplo
ln -s /usr/share/zoneinfo/America/Hermosillo /etc/localtime
Ahora editaremos el archivo “/etc/locale.gen” y desmarcaremos la localización que necesitemos
Por ejemplo, para México:
es_MX.UTF-8
Ahora las generaremos con
locale-gen
Ahora editaremos el archivo /etc/locale.conf
nano /etc/locale.conf
Escribiremos la localización generada anteriormente de la siguiente forma
LANG=es_MX.UTF-8
Ahora presionamos ctrl+x para guardar y salir
Ahora ajustaremos la distribución de teclado
Si el teclado es español escribimos lo siguiente
echo KEYMAP=es > /etc/vconsole.conf
Si es latinoamericano escribimos en su lugar
echo KEYMAP=la-latin1 > /etc/vconsole.conf
Ahora escribiremos el nombre de host de nuestro pc cambiando myhostname por el nombre que quieran utilizar para identificar su pc en su red
echo myhostname > /etc/hostname
Ahora generaremos el initramfs
mkinitcpio -p linux
En caso de usar KVM editamos el archivo de configuración de GRUB para habilitar la consola serie
nano /etc/default/grub
Habilitamos las siguientes líneas con los siguientes parámetros
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet console=tty0 console=ttyS0,115200"
GRUB_TERMINAL_INPUT="console serial"
GRUB_TERMINAL_OUTPUT="gfxterm serial"
Agregamos la siguiente línea
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"
Inatalamos el cargador de arranque. En virtualbox sería así
grub-install /dev/sda
En KVM sería así
grub-install /dev/vda
Ahora generaremos el menú de arranque de grub
grub-mkconfig -o /boot/grub/grub.cfg
Establecemos la contraseña de root
passwd
Salimos de la consola
exit
umount -R /mnt
Reiniciamos
reboot
Ahora debería aparecernos el menú de arranque grub
Esta pantalla aparecerá cada vez que iniciemos desde el disco duro, una vez aquí elegiremos el sistema operativo recién instalado y una vez dentro iniciaremos sesión como root con la contraseña que establecimos. Ahora activaremos Network Manager en caso de instalarlo
systemctl enable --now NetworkManager.service
En caso de elegir dhcpcd utilizamos este comando en su lugar
systemctl enable --now dhcpcd.service
Ahora vamos a crear una cuenta de usuario normal para las tareas que no requieran privilegios de root
useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash nombre
Ahora estableceremos la contraseña para el usuario creado
passwd nombre
Ahora activaremos sudo editando el archivo /etc/sudoers
nano /etc/sudoers
Ahora habilitaremos la línea “%wheel ALL=(ALL) ALL:” eliminando el carácter # al inicio de esta
Ahora cerraremos la sesión de root e iniciaremos desde el nuevo usuario
Para habilitar el repositorio de aplicaciones de 32 bits necesitamos editar el archivo /etc/pacman.conf
sudo nano /etc/pacman.conf
Después buscaremos las líneas siguientes y eliminaremos el símbolo # del inicio de estas
[multilib]
Include = /etc/pacman.d/mirrorlist
Una vez habilitado el repositorio vamos a actualizar la cache del gestor de paquetes
sudo pacman -Syu
Ahora instalaremos los paquetes básicos de xorg
sudo pacman -S xorg-server xorg-xinit xorg-xrandr
En caso de utilizar Virtualbox instalaremos el siguiente controlador de video
sudo pacman -S xf86-video-vmware
KVM no requiere instalar un controlador extra, ya que viene integrado en el kernel
Ahora estableceremos la distribución de teclado para el entorno gráfico
sudo nano /etc/X11/xorg.conf.d/10-keyboard.conf
Ahora escribiremos lo siguiente escribiendo “es” o “latam” según la distribución de teclado
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "latam"
Option "XkbModel" "pc104"
EndSection
Configuramos las carpetas personales básicas
sudo pacman -S xdg-user-dirs
xdg-user-dirs-update
Ahora instalaremos pulseaudio
sudo pacman -S pulseaudio pulseaudio-alsa
Ahora instalaremos algunas fuentes
sudo pacman -S ttf-liberation ttf-bitstream-vera ttf-dejavu ttf-droid ttf-freefont
Ahora probaremos xorg
startx
Si te aparece un mensaje indicando que xsever fue cerrado exitosamente significa que nuestra configuración es la correcta. Si nos aparece un mensaje de error significa que configuramos mal algún parámetro
si estamos utilizando KVM instalamos las herramientas de integración
sudo pacman -S qemu-guest-agent spice-vdagent
Las habilitamos
sudo systemctl enable --now qemu-guest-agent
Para poder ajustar la pantalla del sistema invitado al tamaño de la ventana necesitamos crear un atajo en el lanzador de aplicaciones que realice esta función manualmente
sudo nano /usr/share/applications/set-display-size.desktop
Agregamos el siguiente contenido
[Desktop Entry]
Version=1.0
Name=Adjust Display
Comment=Adjust Display Size to Virtual Machine Window
Exec=xrandr --output Virtual-1 --auto
Icon=org.xfce.settings.display
Terminal=false
Type=Application
Categories=XFCE;System;Utility;
StartupNotify=true
OnlyShowIn=XFCE;
X-XfcePluggable=true
X-XfceHelpPage=display
El atajo aparecerá en la sección Accesorios dentro del lanzador de aplicaciones
Si estamos utilzando Virtualbox instalaremos las herramientas de integración de la siguiente manera
sudo pacman -S virtualbox-guest-utils
Las habilitamos de la siguiente forma
sudo systemctl enable --now vboxservice.service
intalamos XFCE con algunas herramientas
sudo pacman -S lxdm xfce4 xfce4-goodies pavucontrol blueman gvfs gvfs-mtp gvfs-nfs gvfs-smb file-roller
En caso de haber instalado Network Manager instalamos su interfaz gráfica
sudo pacman -S network-manager-applet
Si queremos habilitar el inicio de sesión automático debemos editar el archivo de configuración de LXDM
sudo nano /etc/lxdm/lxdm.conf
Buscamos la siguiente línea
#autologin=dgod
La habilitamos e introducimos nuestro nombre de usuario. Habilitamos el gestor de inicio de sesión
sudo systemctl enable lxdm.service
Reiniciamos
sudo reboot
Seleccionamos la interfaz de usuario en la parte inferior, iniciamos sesión y ya tendremos lista nuestra instalación de Arch Linux. En caso de haber habilitado el inicio de sesión automático este funcionará a partir del próximo reinicio