Instale o Arch Linux, com LVM e disco criptografado (XPS 9360)

Instale o Arch Linux e criptografe seu HD antes do boot

#arch, #linux, #unix

Recentemente eu recebi um XPS 9360 do trabalho, claro que eu instalei Linux. Eu já fiz essa mesma instalação antes, mas sempre tenho que consultar duas ou mais página, então dessa vez resolvi documentar o processo.

Aqui vou usar LVM e cryptsetup para criptografar o disco. Também é conhecido como LUKS on LVM.

Mas primeiro

Você provavelmente recebeu o XPS com Windows, entre no Windows e atualize todos os firmwares, como mostrado nesse link: Dell XPS 13 (9360) - ArchWiki.

BIOS

Este passo é específico para XPS 9360 e vai apagar todo disco. Pode ser que esses passos sejam os mesmos ou bastante semelhantes para outros XPS. Mas não me responsabilizo por qualquer perda de dados ou hardware.

Entre na BIOS com a tecla F2 e configure desse jeito:

  • “System Configuration” → “SATA Operation”: “AHCI”
  • “Secure Boot” → “Secure Boot Enable”: “Disabled”

Instalando o sistema base

F12 para fazer o boot pelo pendrive. Depois de fazer o boot estes são os primeiros comandos:

# setfont latarcyrheb-sun32
# wifi-menu
# timedatectl set-ntp true

Respectivamente:

  1. Usar uma fonte maior
  2. Conectar na wifi
  3. Sincronizar o relógio da máquina

Preparando os discos

Particionar o disco:

# parted /dev/nvme0n1
(parted) mkpart primary 1 3
(parted) name 1 grub
(parted) set 1 bios_grub on
(parted) mkpart primary 3 5123
(parted) name 2 boot
(parted) set 2 boot on
(parted) mkpart primary 5123 -1
(parted) name 3 lvm
(parted) set 3 lvm on

A partição UEFI não vai ser croptografada. Formate usando FAT:

# mkfs.fat -F 32 /dev/nvme0n1p2

Criptografe o resto do disco:

# cryptsetup luksFormat --type luks2 /dev/nvme0n1p3
# cryptsetup open /dev/nvme0n1p3 linuxdrive

Crie as partições LVM:

# pvcreate /dev/mapper/linuxdrive
# vgcreate vg1 /dev/mapper/linuxdrive
# lvcreate -L 17G -n swap vg1
# lvcreate -l 100%VG -n roots vg1

Crie os sistema de aquivos da LVM:

# mkfs.ext4 /dev/vg1/rootfs
# mkswap /dev/vg1/swap

Monte os sisteas de arquivo:

# mount /dev/vg1/rootfs /mnt
# mkdir /mnt/boot
# mount /dev/nvme0n1p2 /mnt/boot

Instalando

E finalmente instale:

# pacstrap /mnt base
# genfstab -L /mnt >> /mnt/etc/fstab

Configuração do sistema

Normalmente faço essa configuração ainda na mídia de instalação.

Timezone:

# cd /mnt/etc
# \rm localtime
# ln -s ../usr/share/zoneinfo/Pacific/Auckland localtime

Edite o arquivo /mnt/etc/locale.gen:

en_US.UTF-8 UTF-8

Execute:

echo "LANG=en_US.UTF-8" > /mnt/etc/locale.conf

Edite o arquivo /mnt/etc/vconsole.conf:

KEYMAP=us
FONT=latarcyrheb-sun32

Configure o nome da máquina em /mnt/etc/hostname e /mnt/etc/hosts (Substitua: <hostname>):

127.0.0.1   localhost
::1     localhost
127.0.1.1   <hostname>.localdomain <hostname>

Edite o arquivo /mnt/etc/mkinitcpio.conf, para XPS 9360 com LVM e cryptsetup:

HOOKS=(base udev autodetect consolefont keyboard keymap modconf block filesystems encrypt lvm2 resume fsck)

Execute:

# arch-chroot /mnt
(chroot) # mkinitcpio -p linux
(chroot) # bootctl --path=/boot install
(chroot) # exit
#

Crie o arquivo /mnt/boot/loader/entries/arch.conf com esse conteúdo:

title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:linuxdrive root=/dev/mapper/vg1-rootfs quiet rw

A uuid é a uuid do /dev/nvme0n1p3. Você pode ver a uuid com esse comando lsblk -f.

Pronto, a máquina tá pronta para uso.

Não esqueça:

  • Crie um usuário para você mesmo, useradd myname
  • Configure sua senha de root, passwd
  • Instale um X Window System, para instalar gnome use: pacman -S gnome gnome-extra xorg-server-xwayland
  • Você pode querer instalar o base-devel também: pacman -S base-devel
  • Você pode querer instalar o intel-ucode também: pacman -S intel-ucode, e mude o arquivo /boot/loader/entries/arch.conf para:
title Arch
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options cryptdevice=UUID=15633406-666c-4654-aab2-4bac514d60ef:linuxdrive root=/dev/mapper/vg1-rootfs rw

Recover

No caso de você precisar bootar pela mídia de instalação novamente (eu sempre esqueço de instalar o wpa_supplicant):

# setfont latarcyrheb-sun32
# wifi-menu
# cryptsetup open /dev/nvme0n1p3 linuxdrive
# mount /dev/vg1/rootfs /mnt
# mount /dev/nvme0n1p2 /mnt/boot

Setup da wifi

Você pode usar o wifi-menu para configurar a rede depois de instalar, antes de usar instale:

# pacman -S wpa_supplicant dialog

Ou simplemente copie o arquivo de /etc/netctl/xxx para /mnt/etc/netctl/xxx. E use este comando para conectar:

# netctl start xxx

P. S.: De quaquer forma para conectar na wifi é necessário: pacman -S wpa_supplicant.

Referências