This is an old revision of the document!
Instalar Arch de manera cifrada con tabla de particiones MBR o GPT (NO UEFI/LVM)
En esta guía rápida se muestra la manera de instalar Arch usando el modo legacy de la BIOS, para portátiles es la que yo uso casi siempre. Las instrucciones son prácticamente las mismas que si se tuviera UEFI activado, pero esta guía se basa en una instalación sin UEFI y con Secure Boot desactivado. Para más información sobre instalaciones de Arch cifradas, por ejemplo sobre volúmenes LVM, consultar estos enlaces.
Instalación de Arch cifrada con MBT / GPT (NO UEFI).
Para el ejemplo se presupone un disco /dev/sda para instalar Arch y el sistema de ficheros XFS, pero como es lógico puede usarse cualquier otro.
Si se va a usar un dispositivo extraible para instalar Arch, se debe usar “dd” para pasar la imagen al usb.
dd bs=4M if=/ruta/a/archlinux-XXX.iso of=/dev/sdX && sync
Asegurarse de que el sistema se ha arrancado en modo BIOS.
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
Configurar teclado.
loadkeys es
Configurar la red para tener acceso a internet.
# Conexión Wifi. wifi-menu # Conexión Ethernet. ip addr # Conocer el nombre de las interfaces de red. ip link set XXX up # Levantar el dispositivo. ## IP Mediante DHCP. dhcpcd # Solicitar una IP por dhcp. ## IP Configurada manualmente. ip route add 192.168.1.44/24 via 192.168.1.1 dev XXX # Configurar IP y Gateway manualmente. No olvidar incluir los DNS en el fichero /etc/resolv.conf
Borrar la actual tabla de particiones y reiniciar (recomendado).
dd bs=1k count=1 if=/dev/zero of=/dev/sda partprobe reboot
Particionar el disco de instalación con la herramienta que se quiera, por ejemplo cfdisk y seleccionar el tipo de particiones que se quiera utilizar, MBR o GPT.
MBR:
- sda1 ext4 1G
- sda2 xfs El Resto de espacio o lo que queramos. Es donde se instalará el sistema.
GPT:
- sda1 BIOS BOT 8M
- sda2 ext4 1G
- sda3 xfs El Resto de espacio o lo que queramos. Es donde se instalará el sistema.
Ejemplo de configuración con GPT.
Device Start End Sectors Size Type /dev/sda1 2048 18431 16384 8M BIOS boot /dev/sda2 18432 2115583 2097152 1G Linux filesystem /dev/sda3 2115584 83886046 81770463 39G Linux filesystem
Ciframos la partición donde instalaremos el sistema operativo, es decir, la partición correspondiente a / y la montamos.
# Con -c se puede cambiar el sistema de cifrado, por ejemplo a "camellia". cryptsetup -y -v luksFormat /dev/sdaX cryptsetup open /dev/sdaX cryptroot mkfs -t xfs /dev/mapper/cryptroot mount -t xfs /dev/mapper/cryptroot /mnt
NOTA: Depende de como sea el particionado se deberá instalar el sistema en sda2 (MBR) o sda3 (GPT), sustituir la X de “sdaX” por la partición que corresponda en cada caso.
Preparamos en Ext4 (xfs puede dar problemas en grub) la partición para /boot y la montamos.
mkfs -t ext4 /dev/sdaX mkdir /mnt/boot mount -t ext4 /dev/sdaX /mnt/boot
Una vez montado tanto la raíz del sistema como la partición de arranque, instalamos Arch y nos enjaulamos dentro para que los comandos que ejecutemos puedan escribir en el disco.
pacstrap /mnt base linux linux-firmware genfstab -U /mnt >> /mnt/etc/fstab arch-chroot /mnt
Editar el fichero /etc/mkinitcpio.conf y agregar en HOOKS “encrypt”.
HOOKS=(base udev autodetect modconf encrypt block filesystems keyboard fsck)
Ejecutar los siguientes comandos para generar la imagen initram con soporte para le cifrado.
pacman -S intel-ucode # Instalar actualizaciones de microcódigo antes de la crear la imagen initram. mkinitcpio -p linux
Instalar Grub.
pacman -Syy pacman -S grub
Editar el fichero /etc/default/grub.
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdaX:cryptroot"
Configurar el cargador de arranque.
grub-install --target=i386-pc /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
Retocamos un poco más el sistema antes de reiniciarlo.
Zona horaria y sincronización de la hora automática.
pacman -S ntp systemctl ntpd enable && systemctl ntpd start unlink /etc/localtime ln -s /usr/share/zoneinfo/Europe/Madrid /etc/localtime hwclock --systohc # Actualiza el reloj de la bios.
Editamos el fichero /etc/locale.gen y descomentamos las locales para nuestro lenguaje, p.e “es_ES.UTF-8”.
locale-gen
Agregar al archivo /etc/locale.conf el valor de la variable “LANG”.
LANG=es_ES.UTF-8
Crear el fichero /etc/vconsole.conf
KEYMAP=es
Cambiar la contraseña de cifrado es posible con este comando.
cryptsetup luksChangeKey /dev/sdaX
Wifi y escritorio (Elección personal para laptops Dell): Wifi / Escritorio XFCE con XDM como display manager / Tarjeta gráfica Intel.
pacman -S dialog wpa_supplicant xf86-video-intel xfce4 xfce4-battery-plugin xscreensaver xorg-server xorg-xinit binutils xorg-fonts-encodings fakeroot mesa xorg-xdm alsa-utils alsa-plugins unzip zip unrar netctl gvfs os-prober pkgfile systemctl enable xdm # El fichero $HOME/.xsession debe tener permisos 700 systemctl enable netctl amixer sset Master unmute # Si por casualidad la tarjeta de red está en mute, activamos el sonido. # grub-mkconfig -o /boot/grub/grub.cfg # Si existen otros equipos en el sistema y se quieren agragar al grub (os-prober instalado). # Una vez estemos conectados a la wifi (mediante wifi-menu), listar los perfiles y poner como predeterminado para el arranque el deseado. netctl list netctl enable XXXX
Se debe crear previamente un usuario en el sistema con directorio /home para iniciar una sesión de escritorio.
useradd -m -s /bin/bash usuario1
Para arrancar el escritorio Xfce en el arranque, simplemente crear en el directorio del usuario que utilizará el entorno gráfico el fichero .xsession (permisos 700 o xdm no arrancará) con el siguiente contenido
startxfce4 # En caso de querer utilizar ssh-agent. # ssh-agent startxfce4
Ya solo queda reiniciar para probar los cambios realizados.